set C++의 STL중의 하나로서 균형이진트리 구조로 되어있습니다.
해싱을 기반으로 데이터들을 관리해주는 자료구조 입니다.
set 형태입니다.
삽입, 삭제, 탐색 등 모든 함수의 시간복잡도가 O(logN) 입니다.
#include <set>
set<int> s;
s.insert(value)
s.find(value)
찾지 못했다면 s.end() 값을 반환합니다.
찾았다면 해당 iterator 값을 반환합니다.
s.lower_bound(E)
s.upper_bound(E)
lower_bound : E를 포함하여 큰 값 중 가장 가까운 iterator를 찾아줍니다
upper_bound : E보다 큰 값 중 가장 가까운 iterator를 찾아줍니다
//key
for(auto it = s.begin();it!=s.end();++it){
cout<<*it;
}
// 같은 결과
cout << *s.rbegin();
cout << *(--s.end());
rbegin()은 r.end()의 바로 전을 가리킵니다.
s.erase(value)