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

STL/set: Difference between revisions

From ZeroWiki
imported>Unknown
No edit summary
 
(Repair batch-0003 pages from live compare)
 
Line 30: Line 30:
   
   
  int main() {  
  int main() {  
  int data[]={5,5,5,5,63,3,3,3,6,5};
  int data[]={5,5,5,5,63,3,3,3,6,5};
  set<int> s(&data[0], &data[10]);
  set<int> s(&data[0], &data[10]);
 
 
  for(set<int>::iterator i = s.begin() ; i != s.end() ; ++i) {  
  for(set<int>::iterator i = s.begin() ; i != s.end() ; ++i) {  
Line 46: Line 46:
----
----
[[STL]]
[[STL]]

Latest revision as of 00:29, 27 March 2026

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