欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

为sort函数指定排序规则时注意的问题以及错误的写法

发布时间:2025/6/17 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 为sort函数指定排序规则时注意的问题以及错误的写法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

注意:
写排序规则时,return的应该是一个表达式,这样比较方便一些。
当然,也可以写return true或者false,但是这样写的时候一定要写全,否则假如只写
if(···) return true; 那么就不知道如果条件不满足时到底是return true还是false了,自然排出来的序列也就不对,所以要根据情况写完全。当然,直接return 表达式最好,这样会自动判断出return的是true还是false
自己写的测试代码如下:

#include<iostream> #include<algorithm> using namespace std; bool cmp1(const int&a,const int &b) {if(a<b)return true; } bool cmp2(const int&a,const int &b) {return a<b; } bool cmp3(const int&a,const int &b) {if(a<b)return true;elsereturn false; } int main() {int a[5]={2,1,4,3,6} ;//sort(a,a+5,cmp1) ; //结果为6 3 4 1 2 ,还是乱序,没排好//sort(a,a+5,cmp2) ; //结果为 1 2 3 4 6 ,按照升序排好了sort(a,a+5,cmp3) ; //结果为 1 2 3 4 6 ,按照升序排好了for(int i=0;i<5;i++)cout<<a[i]<<endl; }

总结

以上是生活随笔为你收集整理的为sort函数指定排序规则时注意的问题以及错误的写法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。