STL容器

顺序容器:向量vector、列表list、队列deque

关联容器:集合map、映射set、多重集合multimap、多重映射multiset

容器适配器:栈stack、队列queue、优先队列priority_queue

 


队列

    queue<int>q;
    q.back();
    q.front();
    q.push(x);
    q.empty();
    q.pop();
    q.size();
View Code

    stack<int>s;
    s.top();
    s.push(x);
    s.size();
    s.empty();
    s.pop();
View Code

vector

    初始化
    vector<int>a; //默认为空
    vector<int>b(a); //复制 
    vector<int>a(10); //10个0 
    vector<int>a(10,1); //10个大小为1 
    vector<int>b(a.begin(),a.begin()+3);
    vector<string>a(10,"null");
    
    也可以用数组来初始化
    int n[]={1,2,3,4};
    vector<int>a(n,n+4);
    
    基本操作
    vector<int>v;
    v.size();
    v.begin();
    v.end();
    v.erase(pos);
    v.clear();
    v.push_back(x);
    v.pop_back();
    v.insert(pos,x);
    v.front();
    v.back();
    v.empty();
    
    a.insert(a.begin(),1000);//开头插入1000
    a.insert(a.begin(),3,1000); //3个1000
    b.insert(b.begin(),a.begin(),a.end()); //将范围a插入b
    
    a.erase(a.begin());
    a.erase(a.begin(),a.begin()+3);
    
    b.swap(a);
    reverse(a.begin(),a.end()); //元素翻转 
    
    find(a.begin(),a.end(),num);
    //找的到返回下标 找不到返回a.end();
    
    遍历
    cin输入 cout<<a[i]访问
    vector<int>::iterator it;
    for(it=a.begin();it!=a.end();it++) cout<<*it;
    int len=a.size();
    for(int i=0;i<len;i++) cout<<a[i];
View Code

map

    map<int,string>m;
    m.sert(pair<int,string>(1,"name") ); //不可覆盖
    m[1]="name"; //可覆盖
    if(m.find(key)!=m.end()) cout<<"find"<<endl;
    
    map<int,string>::iterator iter;
    for(iter=m.begin();iter!=m.end();iter++) 
    cout<<iter->first<<' '<<iter->second<<endl;
    
    iter=m.find(key);
    m.erase(iter);
    
    m.clear();
    m.swap();
    m.count();
    m.empty();
View Code

string类

    string类
    string s;
    string s(str); 生成str的复制品
    string s(str,pos); 从str始于pos位置开始
    string s(str,pos,len);
    char t[200];
    string s(t);
    string s(t,len); t的前len个

    string s(num,'c'); num个c
    string s(t.begin(),t.end());

    s.swap()
    s.insert()
    s.erase()
    s.clear()
    s.replace()
    s.size()
    s.length()
    s.empty()
    s.reserve()
View Code
原文地址:https://www.cnblogs.com/iwomeng/p/10857483.html