C++ STL之vector常用方法
头文件
#include<vector>
初始化方法
vector<int> v; //初始化一个int类型、size为0的vector
vector<int> v(100); //初始化一个int类型、size为100、默认值为0的vector
vector<int> v(100, -1); //初始化一个int类型、size为100、默认值为-1的vector
通过数组地址初始化
int arr[4] = {0, 1, 2, 3};
vector<int> v(arr, arr + 4); //取前4个
vector<int> v(arr, arr + 3); //取前3个
赋值方法
insert
vector<int> v;
v.insert(b.begin(), 10, 1); //从头开始,插入10个1
copy
vector<int> v(2,1);
vector<int> vec(5);
int arr[3] = {2, 3, 4};
copy(v.begin(), v.end(), vec.begin());
for (int i = 0; i < 2; i ++)
cout << vec[i] << " ";
cout << endl;
copy(arr, arr+3, vec.begin() + 2);
for (int i = 0; i < 5; i ++)
cout << vec[i] << " ";
Output
1 1
1 1 2 3 4
push_back
vector<int> v;
for (int i = 0; i < 4; i ++)
v.push_back(i);
for (int i = 0; i < 4; i ++)
cout << v[i] << " ";
遍历方法
数组下标遍历
vector<int> v(10);
for (int i = 0; i < 10; i ++)
cout << v[i] << " ";
auto遍历
vector<int> v(10);
for (auto i : v)
cout << i << endl;