关于vector
vector是一个动态的序列容器,相当于动态数组。相比于数组,vector会消耗更多的内存以确保有效的动态增长。但相比于其他动态序列容器,vector能更快速的索引元素,相对高效的在尾部插入和删除元素。
使用vector容器一般要加上头文件#include或#include<bits/stdc++.h>,一般还加上using namespace std;如果不加则通过std::vector< >的方式调用。
常见用法
1.声明及初始化
//声明整型向量n
vector<int> n;
//声明一个初始大小为5的向量
vector<int> a(5);
//声明一个初始大小为5且初始值为1的向量
vector<int> a(5,1);
//声明并用向量c初始化向量b
vector<int> b(c);
//将c向量中从第0个到第2个(共3个)作为向量b的初始值
vector<int> b(c.begin(), c.begin()+3);
2.添加、删除元素
vector<int> a;
//在尾部加入数据1
a.push_back(1);
//删除最后的数据
a.pop_back();
//在a.begin()之前加入1
a.insert(a.begin(), 1);
//将a.begin()的元素删除
a.erase(a.begin());
//将第三个元素以后的元素均删除
a.erase(a.begin() + 2, a.end());
3.判断vector是否为空
vector<int> a;
a.empty()
4.遍历访问vector
vector<int> a;
//像数组一样访问
for(int i=0;i<a.size();i++)
cout<<a[i];
//迭代器访问
vector<int>::iterator t;
for(t=a.begin();t!=a.end();t++)
cout<<*t<<" ";
5.排序
//要加头文件algorithm
//或者加头文件bits/stdc++.h
#include<algorithm>
#include<bits/stdc++.h
vector<int> a;
sort(a.begin(),a.end());