首先,我们先认识下sort()方法

我们在VS中敲出如下代码

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

利用sort()方法给数组排序 随笔 第1张

我们会得到如下运行

利用sort()方法给数组排序 随笔 第2张

如果我们修改一下呢

利用sort()方法给数组排序 随笔 第3张

会得到

利用sort()方法给数组排序 随笔 第4张

可以看到,sort()方法,是按照字符(数字0-9或者字母a-z)来排序的,先按照第一个字符排序

如果第一个字符相同,再比较第二个字符,以此类推。

所以,如果是纯数字的数组,则会比较数字

利用sort()方法给数组排序 随笔 第5张

利用sort()方法给数组排序 随笔 第6张

如果我们需要按照每个数字的大小来实现升序或者降序排列呢?我们需要用到函数~

利用sort()方法给数组排序 随笔 第7张

利用sort()方法给数组排序 随笔 第8张

那么里面return a-b;该怎么理解呢?

W3SCHOOL这样给我们解释

利用sort()方法给数组排序 随笔 第9张

 

首先,我们需要知道,sort的比较方法,类似于我们用for循环的“选择排序

比如我给的例子:会将1取出来,依次和5、14、23、25、85进行比较

然后将5取出来,依次和14、23、25、85进行比较

............以此类推

所以我们可以这样理解return a-b;

当第一个数比第二个数大的时候,我们交换位置~~       //我们会得到一个升序的结果

如果是return b-a呢?

当第二个数比第一个数大的时候,我们交换位置~~   //我们会得到一个降序的结果

这里的a,b仅仅是一个形参的命名,同样你可以取x,y

利用sort()方法给数组排序 随笔 第10张

但是,a,b的位置不能写反,如果你写(a,b),  a-b 中a就是第一个数,b就是第二个数,反之~~~

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄