본문 바로가기
👨‍🏫Study/C++

[C++] set 라이브러리

by 코푸는 개발자 2021. 8. 22.
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

댓글