向量Vector
头文件 #include<vector>
作用:
vector是一种顺序容器,与数组类似,但与之不同的是vector并不需要开辟内存空间,其类似于每存一个变量便开一个空间,这样便能很好地解决未知数组空间时RE的问题。
定义方法:
vector<int> v; //开一个int类型的vector
vector<int> v(10); //存入10
vector<double> v(10,8.6); //存入10和8.
vector<vector<int>> v; //二维的vector
vector<int> a[maxn]; //第一维是数组,第二组是vector
常用函数:
v.push_back();//数组后面增加一个元素。
v.pop_back(); //删除数组里的最后一个元素。
v.clear();//清空v里的所有元素。
v.empty();//判断v是否为空,如果是返回true,否则false。
v.size();//返回v的长度。
v.capacity()//预分配的内存空间。
v.insert(pos,x);//在pos位置插入元素x。
v.erase(pos);//在pos位置删除元素。
v.erase(x,y);//删除x~y位置的元素。
v.insert(vec.begin()+i,a); //在第i+1个元素前面插入a。
v.erase(vec.begin()+i,v.end()+j); //删除区间[i,j-1];区间从0开始。
关于其他:
vector的快排。。
sort(v.begin(),v.end());
vector的循环
for(Int i=v.begin();i<=v.end();i++) printf("%d ",v[i]);