zoukankan      html  css  js  c++  java
  • 75-使用递归函数进行随机数排序

    随机数排序:

    思路:
    1、假设列表中第一个数是中间值,比它小的数字放到smaller列表中,比它的大的数字放到larger列表中。再将这三项拼接起来。
    2、因为smaller和larger仍然是无序列表,需要使用相同的方法继续分割。
    3、如果列表的长度是0或1,那么就没有必要再排序了。

    from random import randint
    
    def quick_sort(num_list):
        if len(num_list) < 2:
            return num_list
    
        middle = num_list[0]
        smaller = []
        larger = []
        for i in num_list[1:]:
            if i < middle:
                smaller.append(i)
            else:
                larger.append(i)
    
        return quick_sort(smaller) + [middle] + quick_sort(larger)
    
    if __name__ == '__main__':
        alist = [randint(1, 100) for i in range(10)]
        print(alist)
        print(quick_sort(alist))

    结果输出:

    [88, 39, 40, 58, 1, 69, 64, 38, 54, 61]
    [1, 38, 39, 40, 54, 58, 61, 64, 69, 88]
  • 相关阅读:
    Jenkins的安装
    nginx的正则
    nginx的详解(四)
    nginx的详解(三)
    nginx的详解(二)
    Linux基础(七)
    linux-syslog服务
    Django中使用Oracle数据库
    django-admin-simpleui
    closewait---文件描述符
  • 原文地址:https://www.cnblogs.com/hejianping/p/10980518.html
Copyright © 2011-2022 走看看