您的位置:首页 > 其它

STL 容器的常用操作

2015-09-24 15:48 218 查看
#include <iostream>

#include<vector>

#include<set>

#include<map>

using namespace std;

void Print(vector<int> v)

{

for(int i=0;i<v.size();i++)

cout<<v[i]<<" ";

cout<<endl;

}

int main(int argc, const char * argv[]) {

vector<int> v;

v.push_back(1);

v.push_back(2);

v.push_back(3);

v.push_back(4);

v.push_back(5);

vector<int>::iterator iter = find(v.begin(), v.end(), 3);

cout<<*iter<<endl;

Print(v);

cout<<"v.front(): "<<v.front()<<endl;

cout<<"v.back(): "<<v.back()<<endl;

cout<<"v.capacity(): "<<v.capacity()<<endl;

cout<<"v.size(): "<<v.size()<<endl;

v.erase(v.begin());

v.erase(v.begin(),v.begin()+1);

cout<<"erase3个元素后,v.size(): "<<v.size()<<endl;

Print(v);

remove(v.begin(),v.end(),3);

cout<<"remove1个元素后,v.size(): "<<v.size()<<endl;

Print(v);

v.erase(remove(v.begin(),v.end(),4),v.end());

cout<<"真正删除一个元素:v.size(): "<<v.size()<<endl;

cout<<"before 压缩 v.capacity():"<<v.capacity()<<endl;

vector<int> (v).swap(v);

cout<<"after 压缩 v.capacity():"<<v.capacity()<<endl;

int a[] = {34,56,12,36};

set<int> s(a,a+4);

set<int>::iterator iter = s.begin();

for(;iter!=s.end();++iter)

cout<<*iter<<" ";

cout<<endl;

map<string,int> m;

pair<string,int> val(string("susidian0"),4);

m.insert(val);

m[string("susidian1")] = 1;

m[string("susidian2")] = 2;

map<string,int>::iterator iter = m.begin();

for(;iter != m.end();++iter)

cout<<iter->first<<":"<<iter->second<<endl;

map<string,int>::iterator iter1;

iter1 = m.find(string("susidian1"));

if(iter1 != m.end())

iter1->second = iter1->second +2;

for(iter = m.begin();iter != m.end();++iter)

cout<<iter->first<<":"<<iter->second<<endl;

return 0;

}

3



12 34 36 56

susidian0:4

susidian1:1

susidian2:2

susidian0:4

susidian1:3

susidian2:2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: