yuns

[C++] set사용법 본문

algorithms/개념정리

[C++] set사용법

yuuuun 2022. 9. 14. 17:19
반응형

연관컨테이너

  • 노드 기반 컨테이너
  • 균형 이진트리로 구현

set container

  • 연관 컨테이너 중 하나
  • 노드 기반 컨테이너이며 균형 이진트리로 구현되어 있음
  • key라 불리는 원소들의 집합으로 이루어진 컨테이너 (원소 = key)
    • python에서 순서가 있는 dictionary로 생각하면 되나봄
  • key값은 중복 허용 안 됨
  • 원소가 insert에 의해 추가되면 자동으로 정렬됨
  • default는 오름차순!

set 사용법

  • #include <set>
  • set<[Data Type]> [변수 이름]; 
    • set<int> s;
  • set<int> s(pred);
    • pred의 정렬 기준을 가짐
  •  set<int> s2(s1);
    • s1을 복사한 s2
  • 연산자 사용이 가능
  • s.begin();
    • 맨 첫번째 원소를 가리키는 반복자를 리턴(참조)
  • s.end();
    • 맨 마지막 원소를 가리키는 원소의 끝부분을 알 때 사용
  • s.clear();
    • 모든 원소를 제거
  • s.count(k);
    • 원소 k의 개수를 반환
    • 0 아니면 1
  • s.empty()
  • s.insert(k);
  • iter = s.find(k);
    • k가 있을 경우 해당 위치를반환해줌
    • 위치가 s.end()와 같다면 없음을 나타냄
    • 있을 경우, *iter하면 해당 값을 알려줌
  • s.insert(iter, k);
    • iter가 가리키는 위치부터 k를 삽입할 위치 탐색
  • s.erase(start, end);
    • [start, end) 범위의 원소를 모두 제거
  • s.key_comp();
    • 정렬 기준 조건자 반환

 

 

 

[참고]

https://blockdmask.tistory.com/79

반응형

'algorithms > 개념정리' 카테고리의 다른 글

알고리즘의 정당성 증명  (0) 2023.05.03
시간복잡도  (0) 2023.05.02
[C++] unordered_map  (0) 2022.09.14
Comments