C++/C++

[C++] multiset

sihyeong 2022. 11. 24. 22:59

헤더파일 : <set>

 

장점 단점
많은 데이터를 저장한다.

검색 속도가 빠르다.

중복을 포함해 자동 정렬된다.

Key == Value
적은 양의 자료를 사용할 경우 오버헤드로 인한 손해 발생

 

  • 기본 : 오름차순
  • multiset<T, greater<T>>로 내림차순으로 생성, 사용 가능

 

주의점

  • 다른 자료구조와는 다르게 iterator에서 + 연산자를 지원하지 않는다.
multimap<int> m;

for(int i = 0; i < 10; i ++)
{
	m.insert(i);
}

auto iter = m.begin() + 1; // X 사용불가능 컴파일오류
iter = ++m.begin();  // O 사용가능
  • ++, -- 연산자는 정상 작동하기 때문에 m.begin() + 2의 위치를 참조하기 위해선 auto iter = ++m.begin(); iter++;을 해야 원하는 위치 참조 가능