본문 바로가기
C++/[루키스] STL

[STL] set

by 묻공러 2024. 3. 20.

//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  (1) 2024.03.19
[STL] deque  (0) 2024.03.18
[STL] list  (1) 2024.03.17