[자료구조] map

minjgziii·2023년 1월 25일
0

Map이란?

map은 각 노드가 key와 value의 쌍으로 이루어진 트리

  • 중복 허용하지 않음
  • map은 first, second가 있는 pair 객체로 저장됨
  • first-key로 second-value가 저장됨
  • 검색, 삽입, 삭제 -> O(logn)인 레드블랙트리로 구성

Map의 사용

1. 선언

  • map의 기본 구조 : map<key type, value type> 이름
map<string, int> mp;

2. 삽입

mp.insert({"minjgziii", 43});

3. 인덱스 접근

map["apple"]

이렇게 key값을 정확하게 넣어주면 그에 맞는 올바른 value 값을 반환한다.
만약, 없는 key 값을 요구한다면?
-> int의 경우 0을 반환

4. 데이터 검색

  • map의 find() 함수 이용 (find() 함수는 접근자 iterator 이용)
if(map.find("orange") != map.end()) {
 // 존재하는 경우
}
else {
 // 존재하지 않는 경우
 // map의 end의 접근자 반환
}

이렇게 입력으로 받아온 key를 가진 노드의 접근자를 반환한다. 존재하지 않는 경우, map의 end의 접근자를 반환

5. 기타

// map 비우기
map.clear();

// map 비우기
map.erase(map.begin(), map.end());

// map의 크기
map.size();
profile
티스토리로 이사갑니당

0개의 댓글