向量
vector正如《算法笔记》一书中提到的vetor便是“变长数组”和“长度根据需要自动改变的数组”。
在c++中,vector在头文件中定义。
如何定义
vector<T1> v;
T1可以是任何数据类型(比如int、double、string等)
注意在定义二维vector时两个>号见要加空格,否则会报错。
vector<vector<int> > v;
可以联想到这和二维数组很相似,即v中每一个元素都是一个vector,初学者可以把二维vector给当作加长的二维数组。
vector<vector<int> > v[2005];
而还有一种写法给定了二维vector的长度,即v[0]~v[2004]中每一个都是vector容器。
添加元素
用向量名.push_back(),即可添加你在括号内写的东西到vector尾部。
#include<cstdio>
#include<vector>
using namespace std;
int main(){
vector<int> v;
for(int i=1;i<=5;i++){
v.push_back(i);//插入1~5
}
vector<int> :: iterator it=v.begin();
for(int i=0;i<5;i++){
printf("%d ",*(it+i));
}
return 0;
}
输出结果
1 2 3 4 5
删除尾元素
用向量名.pop_back(),即可删除尾元素。
#include<cstdio>
#include<vector>
using namespace std;
int main(){
vector<int> v