//map이 뭐였지?
https://motivelessstudy.tistory.com/260
set이란?
map과 거의 비슷하지만
value가 없이 key만 사용하는 특징이 있다
굳이 key와 value의 두 가지를 저장할 필요가 없을 때 사용한다
map과 같이 균형이진트리(AVL)이기 때문에
데이터의 정렬에서는 시간이 걸리지만
탐색을 매우 빠르게 할 수 있다
간단 사용법
insert, erase, find처럼 map에서 지원하는 대부분의 기능들을
거의 비슷하게 지원해 준다
다만, value가 없어서
쌍(pair)을 사용할 필요가 없고
[] 문법은 지원해주지 않는다
간단 사용법 코드 예시
#include <iostream>
#include <set>
using namespace std;
void main(void)
{
set<int> s;
// insert
s.insert(10);
s.insert(20);
s.insert(30);
s.insert(40);
s.insert(50);
// erase
s.erase(30);
// find
set<int>::iterator findIt = s.find(20);
if (findIt != s.end())
cout << "찾음";
else
cout << "못찾음";
// 순회
for (set<int>::iterator it = s.begin(); it != s.end(); ++it)
{
cout << (*it);
}
// [] 문법 사용 불가
// key와 value가 아닌 key 하나만 사용하니
// 당연히 사용 불가한 문법
//s[10];
//s[10] = 100;
}
'C++ > [루키스] STL' 카테고리의 다른 글
[STL] 사용 빈도 총정리 (0) | 2024.03.22 |
---|---|
[STL] multimap, multiset (0) | 2024.03.21 |
[STL] map (0) | 2024.03.19 |
[STL] deque (0) | 2024.03.18 |
[STL] list (0) | 2024.03.17 |