- mulitmap이란?
multimap은 map과 거의 비슷하나 key값을 중복하는 key-value 쌍을 생성할 수 있다.
(map에 대해 모른다면 먼저 map 포스팅을 보고 참고하길 바랍니다.)
https://zero-stone.tistory.com/16
c++ stl map
- map이란? map[key]=value key와 value로 구성된 자료구조이다. key값으로 해당 원소를 접근한다.(원소= value) 즉 배열은 30이라는 원소에 접근할 때 a[1](첫 번째 원소에 30저장 돼있다)과 같은 방식이라면 m
zero-stone.tistory.com
- map과의 차이
1) [] , = ,at 지원x
map에서는 [],at을 이용해 원소 접근 =를 이용해 삽입이 가능했으나 multimap에서는 이를 지원하지 안는다.
*=는 복사용도로 사용 ex. mulitmap<int,int>m = a;
2) erase
m.erase(key)를 사용하면 key에 해당하는 원소를 삭제한다.
- find
multimap에서는 find를 사용하여 iterator를 반환받아 원소에 접근한다.
이때 key값이 중복이 돼있다면 key값중 가장 먼저 insert된 원소의 iterator를 반환한다.
- count
int count (value)
O(log n)의 시간 복잡도
multimap에 value 값을 갖는 요소를 카운트하는 함수로 없다면 0 존재하면 갯수를 return한다.
'알고리즘&자료구조 > c++ stl 정리' 카테고리의 다른 글
c++ list (stl) (2) | 2021.09.10 |
---|---|
c++ vector (0) | 2021.09.10 |
c++ pair (0) | 2021.09.09 |
c++ set & multiset (0) | 2021.09.09 |
c++ stl map (0) | 2021.07.28 |