헤더 파일
#include <set>
생성
set<자료형> 변수명
set<자료형> 변수명(정렬 기준)
set<자료형> 변수명(변수명)
ex)
set<int> s;
종류 | 상세설명 |
---|---|
begin() | 시작 지점의 주소값 반환 |
end() | 끝 지점 주소값 반환 |
rbegin() | 끝 지점을 시작 지점으로 반환 |
rend() | 시작 지점을 끝 지점으로 반환 |
clear() | 모든 원소를 제거 |
count(k) | 원소 갯수 반환 |
empty() | 비었을 경우 True, 아닐 경우 False 반환 |
insert(n) | 원소를 삽입(삽입시 자동 정렬된 위치에 삽입) |
insert(iter, n) | iter의 위치부터 원소를 삽입할 위치를 탐색하여 삽입 |
erase(iter) | iter가 가리키는 원소 제거(제거한 원소 다음 원소의 반복자 리턴) |
erase(start, end) | [start, end) 범위의 원소를 모두 제거 |
find(k) | 원소 k를 가리키는 반복자 반환 (없으면 s.end() 반환 |
s2.swap(s1) | s1과 s2를 바꿈 |
upper_bound(k) | 원소 k가 끝나는 구간의 반복자 |
lower_bound(k) | 원소 k가 시작하는 구간의 반복자 |
equal_range(k) | upper_bound(k), lower_bound(k)가 합쳐진 멤버함수 |
key_comp(); | 정렬 기준 조건자 반환 |
size() | 사이즈 반환 |
max_size() | 최대 사이즈(남은 메모리 크기) 반환 |
- 삽입시 성공 실패에 대한 여부는 리턴값 pair<iterator, bool>)으로 나옴
- pair<iterator, bool>에서 pair.first는 삽입한 원소를 가리키는 반복자
- pair.second는 성공(true), 실패(false)를 나타냄
#include <iostream>
#include <set>
using namespace std;
void main() {
set<int> s;
s.insert(1);
s.insert(2);
s.insert(5);
s.insert(6);
s.insert(3);
s.insert(4);
set<int>::iterator iter;
for (iter = s.begin(); iter != s.end(); iter++) {
cout << *iter << endl; // 1 2 3 4 5 6
}
iter = s.find(2);
if (iter != s.end()) {
cout << *iter << endl; // 2
}
set<int> s2;
s2.swap(s);
s2.erase(4);
for (iter = s2.begin(); iter != s2.end(); iter++) {
cout << *iter << endl; // 1 2 3 5 6
}
}