C++ common sense 12

  1. C++ STL Map 사용법 정리

Map이란?

  • map은 각 노드가 key와 value쌍으로 이루어진 트리이다.
  • 중복을 허용하지 않는다.
  • O(logN) 레드블랙트리.

기본 형태

  • map은 자료를 저장할 때 내부에서 자동으로 오름차순 정렬한다.
map<key, value> map1;

사용 방법

#include <map>

// 선언
map<string, int> m;

// search 
if (m.find("apple") != m.end()) {
    std::cout << "find" << std::endl;
} else {
    std::cout << "not found" << std::endl;
}

// insert 
m.insert({"cat", 100});

// iterator
for (auto iter = m.begin(); iter != m.end(); ++iter) {
    std::cout << iter->first << ", " << iter->second << std::endl;
}

for (auto iter : m) {
    std::cout << iter.first << ", " << iter.second << std::endl;
}

// delete 
m.erase(m.begin() + 2);  // index
m.erase("apple");  // key

// delete all
m.erase(m.begin(), m.end());
m.clear();