STL 학습 노트 4-set and multiset

8639 단어 학습 노트
컬렉션(Set)은 정렬된 객체를 포함하는 연관 컨테이너입니다.다원 집합 (MultiSets) 은 집합 (Sets) 과 비슷하며, 중복 대상만 지원할 뿐, 사용법은 set과 기본적으로 같다.
사용법 소개
  1.insert() 함수
먼저 머리 파일 set에 #include "set"포함
    set <int> test1;
    set <int>::iterator it1;
    multiset <int> test2;
    multiset <int>::iterator it2;
    //////////////////////////////////////////////////////////////////////////
    // 
    it1 = test1.begin();
    it2 = test2.begin();
    for (int j=1;j<=10;j++)
    {
        test1.insert(it1,j);// 
        test2.insert(it2,j*10);
    }

2、출력하면 주소를 직접 찾을 수 있습니다
    cout<<"Elements:";
    for ( it1=test1.begin() ; it1 != test1.end(); it1++ )
        cout << " " << *it1;// 
    cout<<endl;

3. find () and erase () 는 요소를 찾고 삭제합니다. 요소가 존재하지 않으면find에서 오류가 발생합니다.
    // , find 
    it1 = test1.find(4);// 
    test1.erase(it1);// 
    test1.erase(test1.find(11));// 

    for ( it1=test1.begin() ; it1 != test1.end(); it1++ )
        cout << " " << *it1;
    cout<<endl;

4.count() 함수, 원소계수,set에서 원소의 존재 여부를 판단하는 데 사용
    //count, , , set 
    test2.insert(90);
    cout<<"multiset :"<<test2.count(90)<<endl;
    for (int i=0;i<6; i++)
    {
        cout << i;
        if (test1.count(i)>0)// 
            cout << " is an element of test1.
"; else cout << " is not an element of test1.
"; }

  5、equal_range () 함수는 첫 번째 > = 키워드의 교체기와 > 키워드의 교체기를 되돌려줍니다. 즉, 당신이 찾으려는 원소의 바늘과 다음 원소의 바늘입니다.
    //equal_range()   >= >  
    pair<set<int>::iterator,set<int>::iterator> ret;//  pair
    ret = test1.equal_range(5);// 5 , , 
    cout<<"lower bound points to:"<<*ret.first<<endl;
    cout<<"upper bound points to:"<<*ret.second<<endl;// 

  6、 lower_bound () 는 어떤 값보다 큰 첫 번째 요소를 가리키는 교체기를 되돌려줍니다.
    upper_bound () 는 어떤 값 요소보다 큰 교체기를 되돌려줍니다.
이 두 함수를 결합하면 어느 범위 내의 요소를 수정하거나 삭제할 수 있다
    set <int>::iterator itlower,itupper;
    itlower = test1.lower_bound(5);// 5 
    itupper = test1.upper_bound(9);// 9 
    test1.erase(itlower,itupper);//erase data from 5 to 10
    cout<<"Element:";
    for ( it1=test1.begin() ; it1 != test1.end(); it1++ )
        cout << " " << *it1;
    cout<<endl;

7 swap은 두 개의 집합 변수 중 모든 요소를 교환합니다
    //swap      
    set <int> test3;
    set <int>::iterator it3;
    it3 = test3.begin();
    for (int j=1;j<=10;j++)
    {
        test3.insert(it3,j*2);// 

    }
    swap(test1,test3);

8, empty (),clear () 데이터 비우기
   test1.clear();
    if (test1.empty())
    {
        cout<<"set is null"<<endl;
    }
    

 
set 집합 함수는 매우 간단합니다. 이렇게 많은 상용 기능들이 있습니다.더 복잡한 건 유연하게 사용하고 있어요.

좋은 웹페이지 즐겨찾기