vector 相当于一个数组,但它的长度不是固定的,可以无限度的在后面加元素
还有一个优势是,对于整型数组,如果用sizeof函数取得函数长度的话,给的一定是数组所能存储的最大位数,而不是实际存储数据的长度
而如果使用vector定义数组的话,有专门的函数可以返回数组的起始位置和结束位置
迭代器的定义: vector <type> ::iterator 变量名
关于vector的函数:
vec.push_back(datatype input);//在数组最后添加一个数据
vec.pop_back();//去掉数组的最后一个数据
vec.at(int index);//得到编号位置的数据
vec.begin();//得到数组的头指针;
vec.end();//得到数组的最后一位+1的指针
vec.front();//得到数组第一个数据的引用
vec.back();//得到数组最后一个数据的引用
vec.max_size();//得到容器最大容量
vec.erase(pos);//删除当前指针指向的数据
vec.erase(pos1,pos2);//删除两个指针之间的数据(左闭右开)
vec.clear();//清空容器
vec.empty();//判断是否为空,是则返回false
vec.swap(vector<datatype> vec1);//和另一个vector交换数据
vec.insert(pos,elem);//在pos位置插入elem,pos为指针
vec.size();//返回该容器的长度
#include <bits/stdc++.h>
using namespace std;
//vector 是数组
//好处是他是一个动态数组
int main(){
vector <int> a;
int n,sum;
//cin>>n;
while(scanf("%d",&sum) != EOF)
a.push_back(sum);
/*for(int i=0;i<n;i++){
cin>>sum;
a.push_back(sum);
}*/
vector <int>::iterator len,str;
//int lenn=a.max_size();
len=a.end();
str = a.begin();
for(;str!=len;str++)
cout<<*str<<" ";
cout<<"=="<<lenn;
return 0;
}