std-map

map의 자료구조는 트리다. (정확하게 말하면 레드-블랙 트리다.)

map을 언제 사용할까

  • 많은 자료를 정렬하여 저장하고 있고, 빠른 검색을 필요로 할 때 자주 사용한다.

즉, 다음 조건일 때 사용하면 좋다.

  • 정렬해야 한다

  • 많은 자료를 저장하고, 검색이 빨라야 한다

  • 빈번하게 삽입, 삭제하지 않는다.

map 사용 방법

map <key 자료형, value 자료형> 변수 이름

정렬의 대상은 key를 대상으로 오름 차순 정렬한다.

내림 차순으로 하고 싶다면

map <int, int, 비교 함수>
map <int, int greater<int>>

greater는 STL에 이미 정의되어 있는 템플릿이다.

map의 주요 멤버들

  • begin()

  • empty()

  • end() : 마지막 원소 다음의 반복자를 리턴

  • erase

  • find

  • insert

  • operator[] : 지정한 key 값으로 원소 추가접근

  • size

추가

추가시 insert 사용

이미 추가된 key값을 또 추가할 수 없다.

만약 그렇게 한다면 Result.second는 false이고, 성공 했다면 true다.

operator[]로 추가하기

반복자 사용

begin(), end()와 역방향 반복자 rbegin(), rend()를 지원한다.

만약 map에서 비교함수 사용시, iterator도 같은 비교함수 사용해야 한다.

검색

map 에서는 key로 검색한다.

검색 성공시 반복자 리턴한다.

삭제

  • erase : 특정 요소 삭제

  • clear : 모든 요소 삭제

예제 코드

Last updated

Was this helpful?