Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

STL/set

From ZeroWiki
Revision as of 05:27, 7 February 2021 by imported>Unknown
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

set

  • 집합을 구현한 자료구조(STL에서 containter)이다.
  • 집합내에는 같은 원소가 있으면 안된다.
  • 보통 정렬이 되어있다. STL의 map도 정렬이 되어 있다.
  • include : set
#include <set> 
=== 선언 ===
set<int> s;
set<int>::iterator i;
=== 데이터 넣기 ===
// 3개가 동일한 데이터 이므로 5 하나만 들어있다.
s.insert(5);
s.insert(5);
s.insert(5);	
=== 순회 ===
  • STL의 container 들은 모두 비슷한 모양의 순회를 한다.
  • set 의 특징은 인자들이 정렬되어 있다는 점
set<int>::iterator i;

// for 에서 반복자 이용 순회
for(set<int>::iterator i = s.begin() ; i != s.end() ; ++i) { 
	cout << *i << endl;	// 정렬되어 있다.
} 

프로그램의 예

#include <iostream> 
#include <set> 
using namespace std; 

int main() { 
	int data[]={5,5,5,5,63,3,3,3,6,5};
	set<int> s(&data[0], &data[10]);
	
	for(set<int>::iterator i = s.begin() ; i != s.end() ; ++i) { 
		cout << *i << endl;	// 정렬되어 있다.
	} 
	
	return 0; 
}
결과
3
5
6
63

STL