#include <iostream>
#include <algorithm>
#include <iterator> //迭代器
#include <vector>//容器
using namespace std;
int main()
{
const int N=6;
int arr[N]={1,2,3,4,5,6};
//声明一个int类型集合的容器,并用数组a对容器进行初始化
vector<int>v(arr,arr+N);//将数组中从0到N-1个元素赋值给容器
cout<<v.front()<<" "<<v.back()<<endl;//输出第一个元素和最后一个元素
//通过下标操作符和at函数来修改容器中元素的内容,at函数会检查下标是否越界,避免不必要的麻烦
v[1]=7;//变为{1,7,3,4,5,6};
v.at(2)=10;//{1,7,10,4,5,6};
//在第二个元素位置插入22
v.insert(v.begin()+1,22);//变为{1,22,7,10,4,5,6};
//在尾部添加元素
v.push_back(19);//变为{1,22,7,10,4,5,6,19};
//声明一个迭代器
vector<int>::iterator iter;
iter=v.begin();//迭代器指向容器中第一元素位置;
while(iter!=v.end())
{
cout<<*iter<<" ";//类似指针解引用运算符
iter++;//迭代器向后移动;
}
cout<<endl;
//查找元素5的位置,并返回其迭代器
iter = find(v.begin(),v.end(),5);
if(iter!=v.end())
cout<<"location:"<<(iter-v.begin())<<endl;
else
cout<<"not found"<<endl;
//系统最大容量
cout<<v.max_size()<<endl;
//当前最大容量
cout<<v.capacity()<<endl;
v.erase(v.begin());//清除第一个元素
v.erase(v.begin(),v.end());//清除所有元素
cout<<"After erase ,is the container empty?"<<(v.empty()?"Yes":"No")<<endl; //判断容器是否为空
v.insert(v.begin(),arr,arr+N);
cout<<"After insert ,is the container empty?"<<(v.empty()?"Yes":"No")<<endl;
v.clear();//清空容器
cout<<"After clear ,is the container empty?"<<(v.empty()?"Yes":"No")<<endl;
return 0;
}
12-08
496
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)