//向量vector演示程序
//vector 是一种动态数组,是基本数组的类模板
#include"iostream"
#include"vector"
using namespace std;
typedef vector<int> intvector; //自定义类型intvector
int main()
{
intvector vec1; //初始化为空
intvector vec2(10,6); //包含10个整数 值为6
intvector::iterator i; //前向迭代器
intvector::reverse_iterator j; //后向迭代器
//演示插入和遍历元素
vec1.push_back(2); //从后面 添加一个成员,vector不支持从前插
vec1.push_back(4);
vec1.insert(vec1.begin()+1,5); //在vec1第一个的位置上插入成员
vec1.insert(vec1.begin()+1,vec2.begin(),vec2.end()); //从vec1第一的位置开始插入vec2的所有成员
for(i=vec1.begin();i!=vec1.end();++i) //从前向后显示vec1中的数据
cout<<*i<<" ";
cout<<endl;
for(j=vec1.rbegin();j!=vec1.rend();j++) //从后向前显示vec1中的数据
cout<<*j<<" ";
cout<<endl;
//读取元素
cout<<"vec1.front="<<vec1.front()<<endl; //vec1第0个元素
cout<<"vec1.back="<<vec1.back()<<endl; //vec1最后一个元素
cout<<"vec1.at(4)="<<vec1.at(4)<<endl; //vec1第五个元素
cout<<"vec1[4]="<<vec1[4]<<endl;
//移出和删除
vec1.pop_back(); //移出最后的元素
vec1.erase(vec1.begin()+1,vec1.end()-2); //删除子序列
cout<<"vec1.pop_back() and vec1.erase():"<<endl;
for(i=vec1.begin();i!=vec1.end();++i)
cout<<*i<<" ";
cout<<endl;
//序列的状态信息
cout<<"vec1.size():"<<vec1.size()<<endl; //打印成员个数
cout<<"vec1.empty():"<<vec1.empty()<<endl; //清空
return 0;
}
结果: