1 头文件 #include<vector>
2 定义
vector<int>vec;//定义一个int型向量
vector<int>vec(10);//初始大小为10
vector<int>vec(10,1);//初始大小为10且值初始化为1
vector<int>vec(tmp);//用tmp向量初始化
vector<vector<int>>vec;//定义一个二维向量
vector<int>::iterator it;//定义一个迭代器
3 常规操作
vec.push_back();//在数组的最后添加一个数据
vec.pop_back();//去掉数组的最后一个数据
vec.begin();//得到数组头的指针,用迭代器接受
vec.end();//得到数组的最后一个单元+1的指针,用迭代器接受
vec.clear();//移除容器中所有数据
vec.empty();//判断容器是否为空
vec.erase(s,t);//删除[beg,end)区间的数据
vec.size();//回容器中实际数据的个数
vec.insert(pos,data);//在pos处插入数据
vec.back();//访问尾部元素
vec.front();//访问头部元素
4 遍历
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<" ";
}
for(vector<int>::iterator it=vec.begin();it!=vec.end();it++)
{
cout<<*it<<" ";
}
5 排序
sort(vec.begin(),vec.end());//按升序排序
reverse(vec.begin(),vec.end());//翻转后相当于降序
6 删除元素
vector<int>::iterator it=vec.begin();
it=it+2;
vec.erase(it);
7插入元素
vector<int>::iterator it=vec.begin();
it=it+2;
vec.insert(it);
eg
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector <int> v; //定义vector
vector<int>::iterator it; //定义一个vector迭代器
for(int i = 10; i >= 1; i--) //插入数据
v.push_back(i);
cout<<"输出:";
for(it=v.begin(); it!=v.end(); it++) //输出迭代器的值
cout<<*it<<" ";
cout<<endl;
it-=1;
cout<<"最后一个的值为:"<<*it<<" "<<endl;
v.erase(it); //删除最后一个元素
cout <<"元素个数:" <<v.size() << endl; //输出元素个数
sort(v.begin(), v.end()); //vector排序
cout<<"排序后:";
for(it=v.begin(); it!=v.end(); it++) //输出vector元素
cout << *it << " ";
cout<<endl;
v.insert(v.begin(),100) ; //在pos位置插入一个elem
cout<<"第一个元素为:" <<v.front()<<endl;//输出第一个元素
v.pop_back(); //去掉最后一个元素
cout << "元素个数:" <<v.size() << endl;//输出元素个数
v.clear(); //vector清空
cout <<"清空后元素个数:" << v.size() << endl; //输出元素个数
return 0;
}