vector数组是标准名字空间(std::)的一部分,当我们需要存储动态数据时(如:在程序执行中数组要改变大小时),可以考虑使用vector
#include <iostream> //使用cout
#include <vector> //stl vector头文件
using namespace std; //使用标准名字空间
void main()
{
vector<int> v; //创建整形数组
//vector<int> v(10); //创建数组并初始化为0
//以下四行是向数组中添加元素
v.push_back(1);
v.push_back(2);
v.push_back(3);
int nSize = (int)v.size() //取得数组中元素个数(这里是3)
for (int i=0;i<nSize;i++)
{
cout<<i+1<<”element of the vector is:”<<v[i]<<endl; //读元素
}
//使用iterator
vector<int>::iterator itNum = v.begin(); //定位到数组起始位置
for (;itNum<v.end();itNum++)
{
cout<<(int)(itNum-v.begin())+1<<" element in the vector is:"<<*itNum<<endl;
}
vector<int>::iterator itDel = v.begin()+1; //定位到第2个元素
v.erase(itDel); //删除第2个元素
v.insert(v.begin()+1,3); //在第2 个位置插入3
v.insert(v.begin()+1,4,2);//从第2个位置起连续插入4个
v.clear(); //清除数组中所有元素
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.reserve(4); //预分配空间,当元素个数不足预分配的时,容量最小为预分配值,当超过时,则是预分配值倍数中大于元素个数的最小值
int m = v.capicity(); //m=4;
v.push_back(4); //m=4;
v.push_back(5); //v.capicity()==8
v.clear();
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.resize(5); //此时v中元素为1、2、3、0,0
v.push_back(4); //此时v中元素为1、2、3、0,0,4
vector<int>v1,v2;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
v2.push_back(4);
v2.push_back(5);
v1.swap(v2); //此时v1中元素为4、5,v1中元素为1、2、3
}