vector向量:正逆向排序

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;   
}