맵 기본 함수
기본형태
map<key,value> : key와 value를 pair 형태로 선언합니다.
iterator(반복자)
begin() : beginning iterator를 반환
end() : end iterator를 반환
추가 및 삭제
insert( make_pair(key,value) ) : 맵에 원소를 pair 형태로 추가
erase(key) : 맵에서 key(키값)에 해당하는 원소 삭제
clear() : 맵의 원소들 모두 삭제
조회
find(key) : key(키값)에 해당하는 iterator를 반환
count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환
기타
empty() : 맵이 비어있으면 true 아니면 false를 반환
size() : 맵 원소들의 수를 반환
구현 코드
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main(){
// map
// <string, int> => <key, value>
map< string, int > m;
// insert(key,value)
m.insert(make_pair("a", 1));
m.insert(make_pair("b", 2));
m.insert(make_pair("c", 3));
m.insert(make_pair("d", 4));
m.insert(make_pair("e", 5));
m["f"] = 6; // also possible
// erase(key)
m.erase("d");
m.erase("e");
m.erase(m.find("f")); // also possible
// empty(), size()
if(!m.empty()) cout << "m size : " << m.size() << '\n';
// find(key)
cout << "a : " << m.find("a")->second << '\n';
cout << "b : " << m.find("b")->second << '\n';
// count(key)
cout << "a count : " << m.count("a") << '\n';
cout << "b count : " << m.count("b") << '\n';
// begin(), end()
cout << "traverse" << '\n';
// map< string, int >::iterator it; also possible
for(auto it = m.begin(); it != m.end(); it++){
cout << "key : " << it->first << " " << "value : " << it->second << '\n';
}
return 0;
}