#include
#include //包含vector
using namespace std;//指定命名空间
int main()
{
cout<<"----------vector test-----------"<
/////////////////////////////////////////////
//定义一个vector
/////////////////////////////////////////////
vector vect;
vector vect1(12);//12个int类型元素,每个元素的初始值均为0
vector vect2(12,9);//12个int,初试值均为9
/////////////////////////////////////////////
//使用数组初始化vector
/////////////////////////////////////////////
int a[]={0,1,2,3,4,5,6,7,8,9,0};
//vector <数据类型> <容器名> (<开始地址>,<结束地址的下一个地址> )。执行过vt中元素为1,2,3
vector vt(a+1,a+4);
//在尾部压入3个值
vt.push_back(1);
vt.push_back(2);
vt.push_back(3);
//定义迭代器iterator
vector ::iterator iter=vt.begin();//起始地址
vector ::iterator iter_end=vt.end();//结束地址,两个地址都是指针类型
//遍历vt
for(;iter!=iter_end;iter++)
{
cout<<*iter< }
///////////////////////////////////////////////
//弹出一个元素
///////////////////////////////////////////////
vt.pop_back();//执行弹出
//以下两行重新获得起始和结尾地址
iter=vt.begin();
iter_end=vt.end();
cout<<"----------executed pop_back------"< for(;iter!=iter_end;iter++)
{
cout<<*iter< }
////////////////////////////////////////////////
//插入元素
////////////////////////////////////////////////
cout<<"----------insert into------------"< //插入格式:vector.insert(<起始地址>,<插入的数量>,<元素值>);如果插入的数量为1,则第二个参数可以被省略
vt.insert(vt.begin()+1,3,9);
iter=vt.begin();
iter_end=vt.end();
for(;iter!=iter_end;iter++)
{
cout<<*iter< }
////////////////////////////////////////////////
//删除元素
///////////////////////////////////////////////
cout<<"----------erase-------------------"< //删除格式1为:vector.erase(<删除元素的地址>);
//删除格式2为:vector.erase(<删除元素的起始地址>,<终止地址>);
iter=vt.begin();
iter_end=vt.end();
vt.erase(iter+1,iter_end);//删除第二个到最后一个的元素
iter_end=vt.end();
for(;iter!=iter_end;iter++)
{
cout<<*iter< }
return 1;
}