Algorithm
[c++] map, unordered_map 사용법
D0HAN.
2020. 7. 15. 20:10
- 선언
map<key, value> name;
unordered_map<key, value> name;
//key, value에 int,string,bool등 자료형 넣음
c++ 에서 제공하는 map은 데이터를 정렬하여 저장한다.
따라서 정렬이 필요 없을 경우에는 unordered_map 을 사용하는 것이 훨씬 성능이 좋다.
데이터가 N개일때 탐색속도는
map 의 경우 O(logN)
unordered_map 의 경우 O(1) 가 된다.
- map에 원소 추가
name.insert(make_pair(key,value));
name[key] = 2;
// ex)
map<string, int> m;
m.insert(make_pair("one",1));
m["one"] = 1;
- map 원소에 접근
name[key]
name.at(key)
- map 키값으로 찾기
name.find("one")
키 값이 "one"인 원소의 iterator 리턴
찾는 값이 없다면 name.end() 리턴