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;
}