728x90
Set
- 저장 데이터의 값이 유일한 자료구조(중복허용x)
- 노드 기반 컨테이너
- 임의 접근 불가능
- 균형 이진 트리로 구현
- 각 노드는 pair<T,T> 구성
*multset은 첫 번째 조건인 중복허용을 가능하게 만든 set의 형태의 자료구조입니다.
라이브러리 include 및 선언
#include <set>
//set<데이터 타입> set 명;
set<int> s;
맴버함수
*일반 함수의 형태에 iterator를 파라미터로 사용하는 것보다 맴버함수를 직접사용하는 것이 효율적이다.
set<int> s;
s.insert(12);// 원소 삽입
s.find(key);// key 값에 해당하는 원소를 찾아 반복자 반환
s.lower_bound(key);// key 값에 해당하는 원소가 시작되는 주소를 가리키는 반복자 반환 // 시간복잡도 O(log(N))
lower_bound(s.begin(), s.end(), key);// 시간복잡도 O(N)
s.upper_bound(key);// key 값에 해당하는 원소가 끝나는 다음 주소를 가리키는 반복자 반환
s.count(key);// key 값에 해당하는 원소의 갯수를 반환
s.size();// set의 원소의 수를 반환
s.empty();// set이 비어있다면 true 원소가 있다면 false를 반환
s.clear();// set의 모든 원소를 제거
s.swap(set<T>& a);// 두 set의 내용을 바꿈
s.begin();// set의 첫 번째 원소를 가리키는 반복자 반환
s.end();// set의 마지막 원소 다음의 공간을 가리키는 반복자 반환
s.erase(const T& key);// key에 해당하는 원소 모두 제거
s.erase(iterator iter);// 반복자가 가르키는 원소 제거
728x90
'👨🏫Study > C++' 카테고리의 다른 글
[C++] 병합(Merge Sort) (0) | 2021.09.24 |
---|---|
[C++] string 라이브러리 정리 (0) | 2021.09.24 |
[C++] 10 - 클래스(Class) (0) | 2021.08.11 |
[C++] 09 - 배열, 다차원 벡터, 문자열 (0) | 2021.08.06 |
[C++] 08 - 포인터, 벡터 활용 예시 (0) | 2021.08.06 |
댓글