js中关于sort()的冒泡排序

我们可以这么理解 return a-b  

如果a>b的话 返回的不管是几,肯定是正数、 

a<b的话肯定是负数。(这里不考虑等于的情况,没意义,排序谁前谁后有区别吗?) 

这个时候再通过sort排序的时候,每次都要计算一次正负值后对两个数排序,这样负数肯定在前,正数在后……

这样,小的在前,大的在后,就是升序排列。

反过来,b-a的话,如果a>b,返回的是负数,这样b就在前面……最后结果就是降序排列

不知道这样理解对不对?




因为sort()函数使用的是冒泡排序,冒泡排序会重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来,一直重复地进行直到说该数列已经排序完成。

如果a-b>0(即正数)就把a和b的位置交换,也就是较小的一个数会排到前面;
如果b-a>0就把a和b的位置交换,也就是较大的一个数会排到前面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值