C++ Vector整理
声明和初始化
vector是一个可变大小数组
vector<int> vec; //声明一个int型向量
vector<int> vec(5); //声明一个初始大小为5的int向量
vector<int> vec(10, 1); //声明一个初始大小为10且值都是1的向量
vector<int> vec(tmp); //声明并用tmp向量初始化vec向量
vector<int> tmp(vec.begin(), vec.begin() + 3); //用向量vec的第0个到第2个值初始化tmp
int arr[5] = {1, 2, 3, 4, 5};
vector<int> vec(arr, arr + 5); //将arr数组的元素用于初始化vec向量
vector<int> vec(&arr[1], &arr[4]); //将arr[1]~arr[4]范围内的元素作为vec的初始值
vector<int> vec({1,2});
vector<vector<int>> result;
result.push_back({nums[i],nums[j],nums[k]});
vector<vector<int>> vec(a,vector<int>(b));//初始化一个a行b列的二维vector,全部元素为0
操作
vec.size();//容量
vec.empty();//判空
vec.push_back();//末尾添加元素
vec.pop_back();//末尾删除元素 f
vec.insert();//任意位置插入元素
vec.erase();//任意位置删除元素
vec.clear();
vec.begin();
vec.end();
vec[1];//访问元素
vec.at[1];//访问元素,at会检查是否越界,是则抛出out of range异常
vec.front();//访问第一个元素
vec.back();//访问最后一个元素
vector<int>::iterator it;
for (it = vec.begin(); it != vec.end(); it++)
cout << *it << endl;