注意:使用下列代码请include必要头文件
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
初始化和赋值方式
int main(){
//(1)初始化方式
// 列表初始化
vector<int> arr{1,2,3}; //arr={1,2,3}
//指定大小和初始值
vector<int> arr2(3,0); //arr2={0,0,0}
vector<vector<int>> arr_2d(2, vector<int>(3,0)); //二维向量arr_2d={
{0,0,0},{0,0,0}}
//从其他向量中拷贝指定范围的元素
vector<int> arr3(arr.begin(), arr.end()); //arr3={1,2,3}
//(2) 给vector赋值
// 使用构造函数
vector<int> arr_c1 = arr; //arr_c1={1,2,3}
arr_c1 = {4,5,6}; //arr_c1={4,5,6}
return 0;
}
访问元素
int main(){
vector<int> arr{1,2,3,4,5,6,7};
//1、根据下标访问元素
arr[3]; //arr[3]=4
//2、根据迭代器访问元素
auto it = arr.begin(); //it->1 *it=1
it++; //it->2
it = arr.end(); //it指向vector末尾的随机访问迭代器
auto it_r = arr.rbegin(); //it->7
it_r = it_r + 2; //it->5
it_r = arr.rend(); //it指向反向矢量末尾的迭代器
return 0;
}
增-添加元素
int main(){
vector<int> arr{1,2,3};
//1、在尾部插入元素--介绍push_back和emplace_back
arr.push_back(4); //arr={1,2,3,4}
//或在尾部就地插入元素
arr.emplace_back(5); //arr={1,2,3,4,5}
//2、在指定位置插入元素--介绍insert
auto it_pos = arr.begin() + 2;
arr.insert(it_pos, 6); //arr={1,2,6,3,4,5}
//在指定位置批量插入元素
//如在it_pos位置处插入2个7
arr.insert(it_pos, 2, 7); //arr