#include<iostream>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> v(3,5);//创建长度为3 初值为5的向量
//v[0]=0;数组下标给向量元素赋值 无法动态增加向量长度
v[0]=1;//有下标方式改变向量内元素值
v.push_back(2);//用push_back方法向向量尾部添加元素 动态增加向量长度
v.push_back(3);
v.push_back(4);
vector<int>::iterator it;//用迭代器访问向量元素
for(it=v.begin();it<v.end();it++)
{
printf("%d ",*it);
}
printf("\n");
v.insert(v.begin(),8);//在最前面加入新元素 8
v.insert(v.begin()+2,1);//在v[2]元素位置上加入新元素 1 其余依次往后串一位
v.insert(v.end(),3);//在向量末尾加入新元素 3
for(int i=0;i<v.size();i++)//用数组下标的方式访问向量元素
{
printf("%d ",v[i]);
}
printf("\n");
v.erase(v.begin());//删除迭代器0位置的元素
v.erase(v.begin()+2,v.begin()+5);//删除迭代器第2到第5之间的元素:v[2],v[3],v[4]
for(it=v.begin();it<v.end();it++)
{
printf("%d ",*it);
}
printf("\n");
reverse(v.begin(),v.end());//反向排列向量从首到尾间的元素
for(it=v.begin();it<v.end();it++)
{
printf("%d ",*it);
}
printf("\n");
v.clear();//清空向量内元素
printf("输出向量是否为空: %d",v.empty());
return 0;
}