美文网首页
使用递归排序

使用递归排序

作者: Odven | 来源:发表于2020-07-15 14:36 被阅读0次
#!/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)

相关文章

  • 常见排序算法

    这里介绍四种排序算法,选择排序、快速排序、归并排序、计数排序 选择排序(使用递归) 选择排序(使用循环) 快速排序...

  • go递归

    1.递归的使用 使用递归快速排序 2.关于递归上下文的测试 运行的结果如下:

  • 使用递归排序

  • 多线程归并排序 go实现

    特性 线程数可以调整 混合使用归并排序的递归版和非递归版实现减少递归调用损耗 线程利用率高 不足:归并排序的mer...

  • 排序算法的一些优化和改进2

    6、快速排序 O(nlogn) 递归使用快速排序,对arr[left...right]的范围进行排序对arr[le...

  • 一张图搞懂归并排序

    归并排序的特点是:先拆分, 再排序。 而使用柱状递归树图可以让你非常清晰地感受到归并排序的这个特点。 1 柱状递归...

  • 算法设计与分析——5.排序与树结构

    5.1 引言 5.2 递归与排序 5.2.1 选择排序 代码 5.1 选择排序的递归实现 代码 5.2 选择排序...

  • 一、算法

    目标 递归算法查找算法算法分析十大排序算法 递归算法 什么是递归递归,在数学与计算机科学中,是指在函数的定义中使用...

  • 2020-08-21 算法合集

    1. 冒泡排序 2.选择排序 3. 插入排序 4. 希尔排序 5. 归并排序(递归实现) 6. 快速排序(递归实现...

  • 快速排序

    图解 思想:分治思想 快速排序思路 递推公式既然设计到递归。下意识就要想使用递归的两个必要条件 递推公式递归退出条...

网友评论

      本文标题:使用递归排序

      本文链接:https://www.haomeiwen.com/subject/vygdhktx.html