sort cmp函数的写法 (特判排序 二级排序)

Posted Neord

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sort cmp函数的写法 (特判排序 二级排序)相关的知识,希望对你有一定的参考价值。

特判排序:

看看以下cmp写法,猜想作用:

该函数作用就是“将正数升序排列, 负数排到最后”

我认为cmp函数的一个特性就是, 如果return false, 那么函数就会将他们互换位置, return true就会保持原来位置不变。

所以这函数可以解读为:

x是前面的元素, y是后面的元素。

①如果x<0的话,就是p1是负数,return false,直接交换

②x>0 y <0 那么正数已经在负数后面了,return true,不需要动。

③x>0 && y > 0 那么就按升序排列, return x.a < y.a

假设有10个数:0 8 9 4 -4 4 -2 2 -7 -4。

运行以上代码:

如果需要对负数部分也进行排列,可以加上这一行。

 

 

 

二级排序:

然后再给出一个cmp二级排序的写法

 

以上是关于sort cmp函数的写法 (特判排序 二级排序)的主要内容,如果未能解决你的问题,请参考以下文章

列表排序

Python 使用列表的sort()进行多级排序实例演示,list的sort()排序方法使用详解,python3中sort()的cmp自定义排序方法,sort()的逆序倒叙排序方法

C/C++sort/qsort使用详解

Python sorted

python中sort()方法的cmp参数

python中sorted函数的理解(对list列表排序,对dict字典排序)