vector类似于一个动态数组,当不确定所要使用的数组的大小的时候,可以使用vector。
vector可以动态的改变大小。
1.一维vector的创建及使用
(1)头文件
#include<vector> //头文件
(2)创建vector对象并初始
vector<int>nums(a,0); //创建大小为a的nums数组并初始化为0
(3)在尾部插入元素
nums.push_back(1); //在尾部插入值为1的元素
(4)指定位置插入元素
nums.insert(nums.begin()+1,9); //在nums的nums[1]位置插入元素9 如1,2,3,4 插入为 1,9,2,3,4
nums.insert(nums.begin()+1,3,9); //在nums的nums[1]位置插入3个数,值都为9
(5)删除尾部最后一个元素
nums.pop_back(); //删除尾部元素
(6) 删除第i个元素(删除后的数组重新排列 如删除之前nums[2]=3,删除nums[1]后,删除后的nums中nums[1]=3.)
nums.erase(nums.begin()+2) //删除第3个元素(删除nums[2])
//删除注意
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int>nums(4,0);
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums.erase(nums.begin()+1); //删除nums[1]
cout << nums[1]; //nums[2]前移 这时nums[1]为nums[2]的值
return 0;
}
// 输出nums[1]为 3
(7)删除区间元素
nums.erase(nums.beigin()+1,nums.begin()+3); //删除nums中nums[1]元素到nums[2]元素
(8)大小
nums.size();
(9)清空
nums.clear();
(10)判断是否为空
nums.empty();
2.二维vector的初始
#include<iostream>
using namespace std;
#include<vector>
int main()
{
int a, b;
cin >> a >> b;
vector<vector<int>>nums(a, vector<int>(b);//创建一个二维动态数组nums[a][b],并初始化为0;
//若初始化为1,将(b)改为(b,1)
int n=nums.size() ; //行数
int m=nums[0].size(); //列数
}