为了账号安全,请及时绑定邮箱和手机立即绑定

sortNum是方法吗

根据之前所学,我们在这段代码中定义了sortNum()这个方法,这个方法需要输入a,b两个值,为什么在排序中没有输入这两个值。 有人说这是排序法则,不需要输入,那么原理是什么,是第一个元素分别与后面的元素对比,进行排序,还是元素直接两两对比。 请问有大神可以解释一下吗?

正在回答

5 回答

sortNum()是一个函数,是自己定义的一个排序规则,这个函数名随便自己定义。然后这个函数的作用,比如,你要给一组数排序,可以是升序,也可以是降序,你需要给出说明:例如下面这个函数

function sumSort(a,b){ return a-b;}(a代表数组中前面的数,b代表数组后面的数)

如果(a-b)>=1,则a应该排到后面,

如果(a-b)<-1,则a应该放在前面,

如果(a-b)在-1~1之间,两个同序(这里的意思应该是只对整数排序)。

这其实就是一个冒泡排序的过程,每次比较时把前一位数与后一位数相比较,根据上面三种结果来确定两个数的正确位置。(可以自己完整的走一遍这个流程)这是一个升序排序。

function sumSort(a,b){ return b-a;} 这个函数就是一个降序过程,每次比较时把后面的数减去前面的数,然后把结果与上面三种情况比较,排除正确序列。

1 回复 有任何疑惑可以回复我~
#1

张珂 提问者

非常感谢!
2017-07-18 回复 有任何疑惑可以回复我~

这是sort的函数规则,sortnum这里只提供了顺序和返回值;

0 回复 有任何疑惑可以回复我~

sortNum是一个指针,指向了这个函数,然后调用,有点复杂,记住就行

0 回复 有任何疑惑可以回复我~

(a-b)=64----第一次调用函数:a是80,b是16,结果为64>0,因此交换位置:16,80,50,6,100,1

(a-b)=30----第二次调用函数:a是80,b是50,结果为30>0,因此交换位置:16,50,80,6,100,1


0 回复 有任何疑惑可以回复我~

不是方法,就是随便取得名字,意思是较小的数,如果是正序排序就取较小的数,是两数相减,如果是整数,则后面的数小,如果是负数,则前面的小。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

sortNum是方法吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信