怎么确定是升序还是降序

怎么确定是升序还是降序

升序还是降序是根据compare里返回的int的值还是根据形参放的位置?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,由compare方法返回的int值决定的。

int compare(T o1, T o2)方法中:

1.当int值为负数时,o1排在o2的前面;

2.当int值为正数时,o1排在o2的后面;

3.当int值为0时,o1和o2不分先后;

祝学习愉快~

  • 老师,compare方法是怎么知道我们要怎样排序呢? 如果仅仅只是靠一个int返回值来决定的话,那么比如我想要升序排序,当第一次运算age1-age2的时候,假如得到的是正数,那它怎么知道要把age1排到age2的前面?
    2022-01-16 00:03:30
  • 同学你好,当以某个条件做排序的时候,可以通过两个对象做减法时,谁做减数谁做被减数来控制的。例如两个对象(A对象年龄23,B对象年龄24),如需要做升序并且传参数时是compare(A,B)的形式,那么只需要将计算条件写为B-A,降序时写作A-B或者传参compare(B,A)都可以。

    上面回答中已经给出排序的规则,运行时会根据int值进行排序,所以会知道谁排在前谁排在后。

    祝学习愉快~

    2022-01-16 15:04:46
  • 老师,写反了吧? compare(A,B),升序的话是A-B吧,降序的话是B-A吧?
    2022-01-16 16:03:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师