오늘은 Set Container에 대해 알아보겠습니다.
컨테이너들 보면 다 비슷 비슷합니다..만 몇가지 특성과 함께 알아보겠습니다.
헤더파일은 아래와 같습니다.
#include <set>
set 컨테이너는 노드 기반의 컨테이너입니다.
유일한 key값을 입력 가능하며, key값은 중복될 수 없습니다. 입력된 원소는 자동으로 정렬됩니다.(오름차순 default)
선언 방법은 아래와 같습니다.
set<int> set_int;
set<Pair<int, float> > set_Pair;
set<CTempClass *> set_class;
멤버 함수로는 아래와 같습니다.
- set.begin() : 첫번째 원소의 반복자 반환
- set.end() : 마지막 원소의 반복자 반환
- set.insert( key ) : 원소 key를 삽입합니다.
- set.find( key ) : key와 같은 원소를 찾습니다.
- set.erase( itr ); itrerator가 가리키는 원소를 제거합니다.
- set.close() : set을 지웁니다
예제 코드는 아래와 같습니다.
#include <iostream>
#include <set>
using namespace std;
int main()
{
set<int> set_int;
set_int.insert( 3 );
set_int.insert( 5 );
set_int.insert( 4 );
set_int.insert( 1 );
set_int.insert( 2 );
set_int.insert( 6 );
for ( set<int>::iterator itr = set_int.begin() ; itr != set_int.end() ; itr++ )
{
cout << *itr << endl;
}
cout << endl;
set<int>::iterator itr = set_int.find( 7 );
if ( itr == set_int.end() )
set_int.insert( 7 );
for ( set<int>::iterator itr = set_int.begin() ; itr != set_int.end() ; itr++ )
{
cout << *itr << endl;
}
set_int.clear();
return 0;
}