map set list(STL)

作者: 狼无雨雪 | 来源:发表于2019-07-04 18:58 被阅读0次

    map

    #include<map>
    #include<iterator> 
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main(){
        
        map<int, string> m;
        m.insert(pair<int, string>(1,"student_wangwei"));
        m.insert(pair<int,string>(2,"student_chenhuangrong"));
        m.insert(pair<int,string>(3,"student_yaxian"));
        m.insert(pair<int,string>(4,"student_bowang"));
        
        m.insert(map<int,string>::value_type(5,"student_wangzefan"));
        m.insert(map<int,string>::value_type(6,"student_luzhicheng"));
        m[7] = "student_liyang";
        m[8]= "student_hahaha";
        map<int,string>::iterator iter;
        
        for(iter = m.begin();iter!=m.end();iter++){
            cout<<iter->first<<"  "<<iter->second<<endl; 
        }
        
        return 0;
    }
    
    

    set

    
    #pragma warning(diable:4786)
    #include<set>
    #include<iostream>
    using namespace std;
    int main(){
        set<int> c1;
        int ai[] = {0,1,2,3};
        set<int> c2(ai,ai+4);
        set<int> c3(c2);
        set<int>::iterator Iter;
        set<int>::reverse_iterator RevIter;
        
        if(c1.empty()){
            cout<<"set c1 is empty"<<endl;
        }else{
            cout<<"set c1 is not empty"<<endl;
        }
        
        cout<<"c2 (using begin end) = ";
        for( Iter = c2.begin(); Iter != c2.end(); Iter++){
            cout<<*Iter<<" ";
        }
        
        cout<<endl;
        
        cout<<"c2 (using rbegin rend) =";
        for(RevIter = c2.rbegin(); RevIter != c2.rend(); RevIter++) {
            cout<<*RevIter<<" ";
        }
        
        cout<<endl;
        
        set<int>::const_iterator constIter = c1.find(3);
        
        if(constIter != c1.end()){
            cout<<"c1 contains element 3, *constIter ="<<*constIter<<endl;
        }
        
        cout<<"c1.size() = "<<c1.size()<<endl;
        
        c1.insert(4);
        c2.swap(c1);
        
        cout<<"The last element of c2 = "<<*(c2.rend())<<endl;
        
        c1.clear();
        
        cout<<"After callingn c1.clear(), c1.size() ="<<c1.size()<<endl;
        
        cout<<"*(c2.upper_bound(3))"<<*(c2.upper_bound(3))<<endl;
        
        cout<<"*(c2.lower_bound(3))"<<*(c2.lower_bound(3))<<endl;
        
        if(c3.erase(1) != 0){
            cout<<"c3 does not contrain 1 anymore"<<endl;
        }else{
            cout<<"No element in c3 match key 1"<<endl;
        }
        
    //   if((c2.erase(c2.begin())) != c2.end()){
    //      cout<<"c2 does not contain 0 anymore"<<endl;
    //  }else{
    //      cout<<"no elements in c2 match key 0"<<endl;
    //  }
    //  
        c3.erase(c3.begin(), c3.end());
        
        cout<<"after c2.erase(c3.begin(),c3.end()), c3.size() = "<<c3.size()<<endl;
        
        
        
        
        
        return 0;
    }
    

    list

    #include<iostream>
    #include<list>
    #include<algorithm>
    #include<iterator>
    
    using namespace std;
    
    void printLists(const list<int>& l1, const list<int>& l2){
        cout<<"list1:";
        copy(l1.begin(),l1.end(),ostream_iterator<int>(cout, " "));
        cout<<endl<<"list2:";
        copy(l2.begin(),l2.end(),ostream_iterator<int>(cout, " "));
        cout<<endl<<endl;
        
        
        
    };
    
    int main(){
        
        list<int> list1, list2;
        for(int i=0;i<6;i++)    {
            list1.push_back(i);
            list2.push_front(i);
        }
        
        printLists(list1,list2);
        
        list2.splice(find(list2.begin(),list2.end(),3),list1);
        
        printLists(list1,list2);
        
        list2.splice(list2.end(),list2,list2.begin());
        
        printLists(list1, list2);
        
        list2.sort();
        
        list1 = list2;
        
        list2.unique();
        
        printLists(list1, list2);
        
        list1.merge(list2);
        
        printLists(list1, list2);
        
        
        
        
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:map set list(STL)

        本文链接:https://www.haomeiwen.com/subject/hsxdhctx.html