1. set
중복을 허용하지 않고, 저장된 데이터를 자동으로 정렬하는 컨테이너이다. map과 동일하게 내부 구조는 균형이진탐색트리(레드블랙트리) 방식으로 동작한다.
검색, 삭제, 삽입의 시간복잡도는 O(logN)이다.
#include <set>
// 선언
set<int> mySet;
// 초기화
set<int> mySet = { 1, 2, 3, 3, 4 } // 1, 2, 3, 4
(1) 특정 키 접근
int num = mySet[1];
set은 인덱스 기반 접근이 가능하다.
(2) 값 변경
set은 값의 변경이 불가하다.
(3) 삽입
mySet.insert(5);
set에 새로운 값을 삽입하는 경우 내부적으로 균형이진탐색트리 방식으로 정렬을 수행한다.
(4) 삭제
mySet.erase(2);
auto it = mySet.find(2);
mySet.erase(it);
erase의 인자 값으로 원하는 값을 넘겨주거나 iterator를 넘겨주어도 된다.
'코딩테스트 > 자료구조' 카테고리의 다른 글
[코딩테스트] map (0) | 2025.02.18 |
---|