vector向量容器不仅能像数组一样对元素随机访问,还能在尾部插入元素。具有内存自动管理功能,对于元素的插入和删除,可动态调整所占内存空间。
vector的容量可以事先定义一个固定大小,也可事先不定义,随时使用push_back从尾部扩张元素,也可以使用insert()在某元素位置前插入新元素。begin()返回的是首元素位置的迭代器,end()返回的是最后一个元素的下一个元素位置的迭代器。
不定义vector容量大小的例子:
#include<vector>
using namespace std;
int main(int argc,char *argv[])
{
vector<int> v;
v.push_back(2);
v.push_back(7);
v.push_back(9);
for(int i = 0;i < 3;i++)
printf("%d\n",v[i]);
return 0;
}
指定容量大小的例子:
#include<vector>
#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
vector<int> v(3);
v[0] = 2;
v[1] = 7;
v[2] = 9;
cout<<v[0]<<" "<<v[1]<<" "<<v[2]<<endl;
return 0;
}
采用迭代器和循环对vector对象进行遍历访问。(迭代器,提供一种访问一个集合对象中各个元素的途径,同时又不需要暴露该对象的内部细节)。
#include<vector>
#include<iostream>
using namespace std;
int main(int argc,char *argv[])
{
vector<int> v(3);
v[0] = 2;
v[1] = 7;
v[2] = 9;
vector<int>::iterator it;
for (it = v.begin (); it != v.end (); it++)
{
cout<<*it<<" ";
}
cout<<endl;
return 0;
}