睡觉排序大法

睡觉排序大法 - 用草蟒实现

近日,排序算法界冒出一个终极大法,缺觉少睡的程序猿只要睡睡觉,工作就完成了,是谓“睡觉排序大法”。

下面就是老吴用草蟒——Python 汉化版中文编程语言——实现的睡觉排序:

导入 时间
导入 线程化

列表哦 = [10, 7, 8, 5, 1, 2, 4, 3, 6, 9]

新列表 = []     # 用于存放排好序的数据

函 睡觉(n):
    全局 新列表
    时间.睡眠(n)
    新列表.追加(n)

函 主函数():
    取 i 于 列表哦:
        线程 = 线程化.线程类(目标=睡觉, 参数=(i,)) # 为每个数创建一个睡觉线程
        线程.开始()

    取 线程 于 线程化.枚举()[1:]:  # 枚举() 返回所有线程, 去掉第一个主线程
        线程.并入()  # 调用 并入() 方法, 等所有线程都运行完毕再做其他操作

    打印(新列表)

如果 __名称__ == '__主体__':
    主函数()

经测试,结果非常稳定。用很小的小数测试也能正确排序。

如果你不想多睡会,可以将传入的睡眠时间参数 i 除以 10/100/1000 倍等,然后在向列表追加元素时乘以相同的倍数即可。

如果有负数,可以让所有元素增加最大负数的相反数,排序后追加元素时减去该数即可。

睡眠排序大法好!

你可能感兴趣的:(python,排序算法,多线程,列表)