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() 리턴