参考:https://www.cnblogs.com/aminxu/p/4686332.html
使用vector需要包含头文件
#include<vector>
常用类型
vector<int> a ; //声明一个int型向量a
vector<int> a(10) ; //声明一个初始大小为10的向量
vector<int> a(10, 1) ; //声明一个初始大小为10且初始值都为1的向量
vector<int> b(a) ; //声明并用向量a初始化向量b
vector<int> b(a.begin(), a.begin()+3) ; //将a向量中从第0个到第2个(共3个)作为向量b的初始值
除此之外,还可以直接使用数组来初始化向量
int n[] = {1, 2, 3, 4, 5} ;
vector<int> a(n, n+5) ; //将数组n的前5个元素作为向量a的初值
vector<int> a(&n[1], &n[4]) ; //将n[1] - n[4]范围内的元素作为向量a的初值
元素的输入及访问
#include<iostream>
#include<vector> //c++中使用Vector需要添加这个头文件
using namespace std;
int main(){
vector<int>a(10,0);//初始化大小为10,初值为0的向量a
cin>>a[2];//对其中部分元素进行输入
return 0;
}
向量的基本操作
a.size()//获取向量中的元素个数
a.empty()//判断向量是否为空
a.clear()//清空向量中的元素
a=b //将b向量复制到a向量中
比较:
保持 == , !=, >, >=, <, <=的惯有含义;
如 a==b; //a向量和b向量比较,相等返回true;
插入:
a.insert(a.begin(),1000)//将1000插入到向量a起始位置前
a.insert(a.begin(),3,1000)//将1000分别插入到向量a位置的0~2处(共三个元素)
b.insert(b.begin(),a.begin(),a.end())//将a.begin(), a.end()之间的全部元素插入到b.begin()前
删除:
b.erase(b.begin())//将起始元素删除
b.erase(b.begin(),b.begine()+3) //将(b.begin(), b.begin()+3)之间的元素删除
交换:
b.swap(a); //向量a和向量b交换