#include <vector>
vector是向量,也是容器,也可以理解为动态的数组
初始化
vector<sometype> a();
二维数组:
vector<vector<int > > a(n, vector<int>(m));//是的,括号里可以是变量,可不是确定的数字值
例:
vector<int> a(10);//空间大小为10的数组
vector<int> a(10,0);//同上且十个数初值都附为0
===>int a[10]={0};
vector<int>a(b);//这里的b也是vector数组,此步相当于创造了b数组的备份,并命名为a
vector<int>a(b.begin(),b.begin+3);//将b的0~2.一共三个元素初始化a数组
比如,若b={11,42,44,45,56,77,88},则a={11,42,44}
配套方法函数
a.back();//a数组的最后一个元素
a.front();//a数组的第一个元素
a.clear();//清空数组
a.pop_back();//删除a的最后一个元素
a.push_back(5);//在a的最后一个向量后插入一个元素,其值为5
a.insert(a.begin()+1,5);//在a的第一个元素(从第0个算起)位置插入数值5
a.insert(a.begin()+1,3,5);//在a的第一个元素(从第0个算起)位置插入3个数,其值都为5
//位置 个数 值 很多地方都是这样的参数顺序
a.insert(a.begin()+1,b+3,b+6);//b为数组,在a的第一个元素(从第0个元素算起)的位置插入b的第三个元素到第5个元素(不包括b+6)
a.erase(a.begin()+1,a.begin()+3);//删除a中第一个(从第0个算起)到第二个元素,也就是说删除的元素从a.begin()+1算起(包括它)一直到a.begin()+3(不包括它)结束
//包括前 不包括后
a.size();//返回a中元素的个数
a.capacity();//返回a在内存中总共可以容纳的元素个数
a.swap(b);//a,b数组内容互换