vector较数组来说使用更加方便,此篇再次总结
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
//降序排序时使用
bool cmp(int a,int b){
return a>b;
}
int main(){
vector<int> v={1,5,2,5,7,0,3,6,5};
vector<int> v2={1,5,2,5,7,0,3,6,5};
vector<int> v3={1,5,2,5,7,0,3,6,5};
//升序排序
sort(v.begin(),v.end());
//降序排序
sort(v2.begin(),v2.end(),cmp);//7 6 5 5 5 3 2 1 0
//pos是去重以后vector中没有重复元素的下一个位置的迭代器
vector<int>::iterator pos=unique(v.begin(),v.end());
//去除重复元素
v.erase(pos,v.end());//0 1 2 3 5 6 7
//倒置
reverse(v3.begin(),v3.end()); //5 6 3 0 7 5 2 5 1
//查找元素
vector<int>::iterator p=find(v.begin(),v.end(),7);
if(p!=v.end())
cout<<*p<<endl;//7
else
cout<<"can not find"<<endl;
//返回v的最后一个元素
v.back(); //7
//返回v的第一个元素
v.front();//0
//在v的第1个元素(从第0个算起)的位置插入数值16
v.insert(v.begin()+1,16); //0 16 1 2 3 5 6 7
//在v的第1个元素(从第0个算起)的位置插入数值16的3个数
v.insert(v.begin()+1,3,16); //0 16 16 16 16 1 2 3 5 6 7
//在v的第1个元素(从第0个算起)的位置插入v2的第3个元素到第5个元素(不包括v2+6)
v.insert(v.begin()+1,v2.begin()+3,v2.begin()+6); //0 5 5 3 16 16 16 16 1 2 3 5 6 7
//将v2中的元素和v中的元素进行整体性交换
v.swap(v2); //7 6 5 5 5 3 2 1 0
return 0;
}