#C02L05P03. C02.L05.sort函数.理论讲解2.控制sort函数的排序法则
C02.L05.sort函数.理论讲解2.控制sort函数的排序法则
通过上面的例子,会产生疑问:要实现从大到小的排序怎么办?
这就如前文所说需要在sort()函数里的第三个参数里做文章了,告诉程序:我要从大到小排序!
需要加入一个比较函数 cmp(),此函数的实现过程是这样的
bool cmp(int a,int b) // a 代表前项, b 代表后项
{
return a>b; //如果前项大于后项,返回true,否则返回false
}
这就是告诉程序要实现从大到小的排序的方法!
例二:输入10整数,从大到小输出。
#include<bits/stdc++.h>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int a[10];
int main()
{
for(int i=0;i<10;i++)
cin>>a[i];
sort(a,a+10,cmp); //cmp是比较 a 数组前后两个元素的法则,当cmp函数返回 false,sort函数就会交换数组元素的前后项
for(int i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
运行结果:
相关
在以下作业中: