[C++] multiset

초보개발·2021년 10월 22일
0

코딩테스트

목록 보기
3/30

multiset

set과 비슷하지만 multiset은 key 값의 중복을 허용한다.
원소를 삽입하면 자동으로 오름차순 정렬이 된다.
insert()로 원소를 추가하고 erase()로 원소를 삭제한다.
마찬가지로 upper_bound(), lower_bound() 메서드를 사용할 수 있다.

#include <set> // multiset이 아닌 set 헤더 파일에 있다.
using namespace std;

int main(){
  multiset<int> ms; // multiset<자료형> 변수명;
  
  ms.insert(1);
  ms.insert(2);
  ms.insert(3);
  ms.insert(4);
  ms.insert(2);
  ms.insert(1); // 1 1 2 2 3 4
  
  ms.erase(ms.begin()); // multiset에서 최솟값 삭제
  ms.erase(--ms.end()); // multiset에서 최댓값 삭제
  // 1 2 2 3
  
  // 2가 처음 나온 부분
  auto start = ms.lower_bound(2);
  // 2의 마지막 부분 다음 자리
  auto end = ms.upper_bound(2); 
  cout<<*start<<' '<<*end<<endl; // 2 3
  
 }

관련 문제

🥇백준 7662번

0개의 댓글