美文网首页
python实现快速排序

python实现快速排序

作者: 微凉_半夏 | 来源:发表于2019-01-16 12:02 被阅读0次
快排,注释在代码中,直接上代码
# 快速排序
# -*- coding: utf-8 -*-

def quicksort(list1):
    max1 = []
    inter = []
    min1 = []

    if len(list1) <= 1:  # 判断初始列表长度是否符合快排条件
        return list1
    else:
        values = list1[0]  # 设置用于比较大小的值,建议采用列表0的位置,因为可能后面分割后其他位置不一定有
        for i in list1:
            if i < values:  # 比较大小,分别放入两个列表中
                min1.append(i)
            elif i > values:
                max1.append(i)
            else:
                inter.append(i)

    max2 = quicksort(max1)  # 递归,直到排完
    min2 = quicksort(min1)

    return min2 + inter + max2  # 注意这里的返回,一定是递归后的,而不是刚开始的


if __name__ == '__main__':
    list1 = [23, 45, 6, 78, 13, 58, 689, 43, 6, 4, 6, 0, 3, 16, 4, 8, 6, 4, 45, 45]
    print(quicksort(list1))

相关文章

  • 快速排序的Python实现

    目录 快速排序的介绍 快速排序的Python实现 快速排序的介绍 快速排序(quick sort)的采用了分治的策...

  • 排序

    排序 快速排序 归并排序 计数排序 Python实现 理解 详解 稳定:如果a原本在b前面,而a=b,排序之后a仍...

  • 七大排序算法的 Python

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • 八大排序算法的 Python 实现(转)

    本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序。 1、插...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • Python 实现七大排序算法

    本文用 Python 实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。 先整体看一下...

  • 快速排序算法的实现( Golang 和 Python )

    Python 中一行代码搞定快排 Python 快速排序 Golang 快速排序

  • 快速排序的Python 简单实现

    快速排序的Python 简单实现[https://www.cnblogs.com/clemente/p/11168...

  • python实现快速排序(QuickSort)

    python实现【快速排序】(QuickSort) 算法原理及介绍 快速排序的基本思想:通过选择一个关键字,一趟排...

网友评论

      本文标题:python实现快速排序

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