1、使用reverse反向排序算法:将向量中某段迭代器区间元素反向排列
#include<iostream>
#include<vector>
#include<algorithm> //在包含头文件<algorithm>前提下进行使用算法
using namespace std;
int main()
{
vector<int> v;
for(int i=0;i<10;i++)
{
v.push_back(i);
}
reverse(v.begin(),v.end()); //参数是起始元素和最后元素的下一个元素
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
system("pause");
return 0;
}
2、使用sort正向排序算法:将向量中某段迭代器区间元素(升序)从小到大排列
#include<iostream>
#include<vector>
#include<algorithm> //在包含头文件<algorithm>前提下进行使用算法
using namespace std;
int main()
{
vector<int> v;
for(int i=0;i<10;i++)
{
v.push_back(9-i);
}
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
sort(v.begin(),v.end());
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
system("pause");
return 0;
}
3、使用sort正向排序算法:将向量中某段迭代器区间元素排列,自定义排列规则,比如降序
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool Comp(const int &a,const int &b)
{
if(a!=b) return a>b;
else return a>b;
}
int main()
{
vector<int> v;
for(int i=0;i<10;i++)
{
v.push_back(i);
}
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
sort(v.begin(),v.end(),Comp); //第三个函数返回值参数返回一个正数作为排序标准
for(vector<int>::iterator it=v.begin();it!=v.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
system("pause");
return 0;
}