set, multimap, multiset

CJB_ny·2022년 8월 26일
0

C++ 정리

목록 보기
70/95
post-thumbnail

map의 형제들이다.

set

키를 값으로 사용하고 싶을 때

set사용한다.

나머지는 map이랑 다 똑같다.

거의 비슷하다.

key == value를 인지하면됨.

opeator [] 지원 안함.

multimap

map에서 중복키를 허용하는게 multimap이다.

insert

이렇게 넣으면되고, operator [] 막힘. (혼동을 막기 위함)

erase할 경우

현재 키값을 중복해서 넣었는데 erase할 경우 어떻게 될까?

하나삭제? 다삭제?

중복된 키값 count 수만큼 반환하는데

해당키의 데이터 다 삭제한다.

중복될때 원하는 것만 삭제

find를 통해 중복된 키값들중 첫번째 키값에 해당하는 iterator 반환받은 다음에

이것을 삭제해주면된다.

활용

  • lower_bound(1) : 1을 가지는 키값의 시작 주소

  • upper_bound(1) : 1을 가지는 키값을 다음 주소

이랫던것을

이렇게 바꿀 수 있다.

multiset

set에서 중복 키를 허용하는게 multiset

넣고, 찾기

정리

map은 많이 쓰고, set도 어느정도

nultimap, multiset의 경우 실무에서 거의 쓴적이 없다.

하지만 면접에서는 map, set물어보고

간혹 map, multimap물어봤다고도 함.

profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글