set 집합 용기

4543 단어 set

1.1 기초 개념:
set 집합 용 기 는 레 드 블랙 트 리 (Red - Black Tree) 의 밸 런 스 이 진 트 리 를 구현 한 데이터 구조 다.새로운 요 소 를 삽입 할 때 이 진 트 리 의 배열 을 자동 으로 조정 하고 요 소 를 이 위치 에 놓 아 각 하위 트 리 뿌리 노드 의 키 값 이 왼쪽 하위 트 리 의 모든 노드 의 키 값 보다 크 고 오른쪽 하위 트 리 의 모든 노드 의 키 값 보다 작 도록 합 니 다.그리고 뿌리 노드 왼쪽 나무의 높이 와 오른쪽 나무의 높이 가 같 도록 확보 해 야 한다.이렇게 해야만 이 진 트 리 의 높이 가 최소 화 되 고 더 빠 른 속도 로 우리 가 필요 로 하 는 결 과 를 검색 할 수 있다.주의해 야 할 것 은 그 가 같은 키 의 요 소 를 반복 해서 삽입 하지 않 고 무시 처 리 를 한 다 는 것 이다.
그리고 균형 이 진 트 리 는 요 소 를 삽입 할 때 키 값 에 따라 작은 순서 로 요 소 를 자동 으로 배열 합 니 다.
 
1.2 set 집합 대상 만 들 기
  
# include<cstdio>

# include<iostream>

# include<set>



using namespace std;



int main(void)

{

    //       int     s,        

    //                ,      ,         

    set<int>s;

    

    return 0;

}

 
1.3 요소 의 삽입 과 중간 순 서 를 옮 겨 다 닙 니 다.
insert () 방법 으로 요 소 를 집합 에 삽입 합 니 다. 삽 입 된 구체 적 인 규칙 은 기본 적 인 비교 규칙 에서 요소 의 값 에 따라 작은 것 에서 큰 것 으로 삽 입 됩 니 다. cmp 함 수 를 지정 하면 자신의 규칙 에 따라 요 소 를 삽입 합 니 다.
전 방향 교체 기 를 사용 하여 집합 중 순 서 를 옮 겨 다 녔 는데 그 결 과 는 바로 어 릴 때 부터 큰 순서 가 되 었 다.
 
 1 # include<cstdio>

 2 # include<iostream>

 3 # include<set>

 4 

 5 using namespace std;

 6 

 7 int main(void)

 8 {

 9     set<int>s;

10     s.insert(8);

11     s.insert(1);

12     s.insert(12);

13     s.insert(6);

14     s.insert(8);

15     set<int>::iterator it;

16     for ( it=s.begin();it!=s.end();it++ )

17     {

18         cout<<*it<<" ";

19     }

20     cout<<endl;

21 

22 

23 

24     return 0;

25 }

좋은 웹페이지 즐겨찾기