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