使用递归排序

2020-07-15  本文已影响0人  Odven
#!/usr/bin/env python
# _*_ coding:utf-8 _*_

import random


def def_sort(li):
    """
    :param li: 要排序的列表
    :return: 排序后的列表
    """

    length = len(li)
    if length <= 1:  # 一个出口
        return li

    m = li[0]
    li.pop(0)
    before_list = list()
    after_list = list()
    for i in li:
        if i >= m:
            after_list.append(i)
        else:
            before_list.append(i)

    return def_sort(before_list) + [m] + def_sort(after_list)


if __name__ == '__main__':
    test_list = [random.randint(0, 100) for _ in range(20)]
    print(test_list)
    a = def_sort(test_list)
    print(a)
上一篇 下一篇

猜你喜欢

热点阅读