본문 바로가기

알고리즘&자료구조/c++ stl 정리

c++ stl multimap

- 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