C++ Realization - Programers level2

김정욱·2021년 1월 22일
0

Algorithm - 내용(C++)

목록 보기
6/9

[ 1. map / unorderd_map]

map

: key - value로 이루어져 있는 컨테이너 (pair 객체 형태로 저장)
1) key는 중복값을 가질 수 없다
2) <map> 헤더에 존재한다


사용법

  • 선언 & 삽입
map<string, int> m;

m["csv"] = 60;
  • 순회
/* 1번 방법 */
for(it = n.begin(); it != m.end(); it++){
   cout << it->first << " " << it->second << endl;
}

/* 2번 방법 */
for(pair<string, int> a : m){
  cout << a.first << " " << a.second << endl;
}
  • 삭제
/* key값으로 삭제 가능 */
m.erase("csv");

/* m.find()는 해당 요소의 iterator를 반환 */
m.erase(m.find("csv"));
  • size() / empty()
m.size();

m.empty();
  • map.find()
m.find("csv"); // 요소가 있으면 요소를 가리키는 iterator 반환

m.find("mutal"); // 요소가 없으면 m.end() iterator를 반환

unordered_map

: 사용법은 map과 같지만, <unordered_map> 헤더에 있다.
  일반 map은 균형트리로 이루어져 있고 , unordered_map은 해시 테이블로 되어 있다!

  • 차이점 및 정리
    1) 데이터가 많은 경우에는 unordered_map이 빠르다
    2) key를 사용해 정렬해야 하는 경우에는 map이 좋다
profile
Developer & PhotoGrapher

0개의 댓글