一、vector使用时需引用头文件
#include<vector>
二、vector中的相关函数的用法
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
int i;
vector<int>v1;//定义vector变量
vector<int>v2;
vector<int>::iterator it1;
vector<int>::iterator it2;
for(i=0;i<=5;i++)
v1.push_back(i);//在数组最后添加一个数据
for(i=0;i<=5;i++)
v2.push_back(11);//在数组最后添加一个数据
for(it1=v1.begin();it1!=v1.end();it1++)
cout<<*it1<<" ";
cout<<endl;
v1.pop_back();//去掉最后一个数据
for(it1=v1.begin();it1!=v1.end();it1++)
cout<<*it1<<" ";
cout<<endl;
i = v1.at(0);//at(i)获得i位置的数据,其中i取值范围[0,i)
cout<<i<<endl;
cout<<v1.front()<<endl;//front返回数组第一个元素
cout<<v1.back()<<endl;//back返回数组最后一个元素
cout<<v1.max_size()<<endl;//得到数组最大可以达到多少
cout<<v1.capacity()<<endl;//数组重新分配空间之前可以存储的数据量
cout<<v1.size()<<endl;//数组中当前存放的元素个数
v1.resize(5);//重新设置容器大小
v1.erase(v1.begin()+2);//删除2号位置的数据,位置从0开始计算
v1.erase(v1.begin(),v1.begin()+2);//删除[v1.begin(),v1.begin()+2)之间的数据
v1.insert(v1.begin(),5,12);//插入5个12到数组中的v1.begin()位置
v1.insert(v1.begin()+2,v2.begin()+2,v2.begin()+4); //在数组v1的begin()位置
//插入v2数组中 [a,b)之间的数据
v1.insert(v1.begin(),100);//在v1.begin()位置插入100
//v1.clear();//清空v1
if(v1.empty())//判断是否为空,为空时返回1
{
cout<<"空"<<endl;
}
v1.swap(v2);//交换v1和v2中的数据
//v1.assign(3,122);//给v1中赋3个122并且清除原来的数据;
//sort(v2.begin(),v2.end(),cmp); //对v2中的数据按照从大到小排序
sort(v2.begin(),v2.end());//对v2中的数据按照从小到大排序
//unique(v2.begin(),v2.end());//将v2数组中重复的元素放到数组末尾
// 函数返回第一个出现重复的数据被放置在v2的什么位置
//若要达到去重目的还需结合erase函数将多余的删除
v2.erase(unique(v2.begin(),v2.end()),v2.end());
for(it2=v2.begin();it2!=v2.end();it2++)
cout<<*it2<<" ";
return 0;
}