有没有大牛帮我看看这段c++代码
答案:2 悬赏:30 手机版
解决时间 2021-03-30 12:42
- 提问者网友:沉默菋噵
- 2021-03-30 04:26
有没有大牛帮我看看这段c++代码
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-03-30 05:10
去掉if一句,直接return,函数返回值类型改成bool追问大哥,其实不瞒你说,这个排序还有后面,我简化发的,就是如果和相等,再比较第二位,如果第二位相等,再比较第一位
追答if(a.c+a.d==b.c+b.d)
{
if(a.d==b.d) return a.c>b.c;
else return a.d>b.d;
}
else return (a.c+a.d)>(b.c+b.d);追问……为什么我的逻辑不对啊,先判断和是否大于,大于跳出,不大于进行等于判断,感觉也没问题啊……追答只请你思考一个问题:假如上面的if都不成立,你的函数返回什么?追问天……蠢了蠢了,谢谢谢谢,这逻辑思维还是要练
追答if(a.c+a.d==b.c+b.d)
{
if(a.d==b.d) return a.c>b.c;
else return a.d>b.d;
}
else return (a.c+a.d)>(b.c+b.d);追问……为什么我的逻辑不对啊,先判断和是否大于,大于跳出,不大于进行等于判断,感觉也没问题啊……追答只请你思考一个问题:假如上面的if都不成立,你的函数返回什么?追问天……蠢了蠢了,谢谢谢谢,这逻辑思维还是要练
全部回答
- 1楼网友:想偏头吻你
- 2021-03-30 06:03
你都运行起来了。结果不对检查cmp里面的逻辑吧。
一般std::sort接收的pred的返回值是bool。
一般std::sort接收的pred的返回值是bool。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯