STL 学习之 vector

#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;
}
posted @ 2011-05-24 20:45  Crazy_yiner  阅读(177)  评论(0)    收藏  举报