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();
- 정렬 기준 조건자 반환
[참고]
반응형