顺序容器:vector,list,deque,总结一些基本重要的操作。
头文件:#include<vector> #include<list>
空容器定义:vector<string> svec;
容器初始化操作:
1.容器复制,要求容器类型相同,元素类型相同
vector<int> ivec1(10,1);
vector<int> ivec2(ivec1);
2.初始化一段元素,元素相同,容器可不同
int ia[10]={0,1,2,3,4,5,6,7,8,9};
vector<int> ivec(ia,ia+10);
list<int> lst(ivec.begin(),ivec.end());
3.指定数目大小初始化
vector<int> ivec1(10,1); 10个元素为1的容器
vector<int> ivec1(10); 10个元素为0的容器
迭代器(iterator):1.一种数据结构 2.定义:vector<int>::iterator iter;
vector容器中点:
vector<string>::iterator mid=svec.begin()+svec.size()/2;
迭代器初始化容器元素:
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
*iter=0;
vector读入和输出:
while(cin>>str)
svec.push_back(str);
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter)
cout<<*iter<<endl;
添加元素:
c.push_back(t) c:容器,t:元素
c.push_front(t) vector不支持front
c.insert(p,t) p:迭代器
1.指定位置添加
string s1("yes");
svec.insert(svec.begin(),s1);
2.插入一段元素
svec.insert(svec.end(),10,"yes");
int a[4]={1,2,3,4};
ivec.insert(ivec.end(),a,a+4);
删除元素:
c.erase(p)
c.clear() 删除全部
c.pop_back() 删除最后一个
c.pop_front() 删除第一个,vector不支持