首页 > 编程语言 > 详细

利用sort()方法给数组排序

时间:2019-04-14 15:04:29      阅读:129      评论:0      收藏:0      [点我收藏+]

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

我们在VS中敲出如下代码

技术分享图片

我们会得到如下运行

技术分享图片

如果我们修改一下呢

技术分享图片

会得到

技术分享图片

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

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

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

技术分享图片

技术分享图片

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

技术分享图片

技术分享图片

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

W3SCHOOL这样给我们解释

技术分享图片

 

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

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

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

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

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

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

如果是return b-a呢?

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

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

技术分享图片

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

 

利用sort()方法给数组排序

原文:https://www.cnblogs.com/stuartrealm/p/10705021.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!