#include <map>
map<char, int> m;
m['A'] = 1 ;
m['B'] = 2 ;
m.insert(make_pair('C', 3));
m.insert(pair<char, int>('D', 4));
map<char, int>::iterator it;
for (it = m.begin(); it != m.end(); it++) // auto 형으로도 사용 가능
cout << it->first << ' ' << it->second << '\n';
for (auto p : m)
cout << p.first << ' ' << p.second << '\n';
'map명'.erase(key)
m.erase('A');
'map명'.clear()
m.clear();
find 함수는 iterator 반환.'map명'.find(key)로 해당 노드 찾은 뒤, value값 접근
→ 키 값이 존재하지 않을 시 m.end() 반환
//value값 출력
cout << m.find('A')->second << endl;
map<char, int>::iterator it = m.find('A');
cout << it->second << endl;
if (m.find('A') == m.end())
cout << "key 'A' doesn't exist" << endl;
else
cout << "key 'A' exist" << endl;
비어 있으면 true 반환. 비어 있지 않으면 false 반환
m.empty();
m.size();
map을 vector 형태로 변환 후, vector와 동일하게 sort 적용
#include <algorithm>
#include <vector>
// 비교할 때 사용하는 함수
bool cmp(const pair<char, int>& a, const pair<char, int>& b){
if(a.second == b.second) return a.first < b.first;
return a.second < b.second;
}
vector<pair<char, int>> map2vec(m.begin(), m.end());
sort(map2vec.begin(), map2vec.end(), cmp);