美文网首页Python学习内容整理
Python 数组快速排序的实现

Python 数组快速排序的实现

作者: Lorence | 来源:发表于2020-05-18 21:42 被阅读0次

''
快速排序算法,采用分而治之的策略。它的基本思想是通过一趟排序将要排序的数据
分割成独立的两部分,其中一部分的所有数据,都比另一部分的所有数据都要小。然后
再按此方法,对这两部分的数据进行快速排序,整个排序的过程中递归进行。以此到整个数据变成有序。 下面是实现的代码:
'''
def quicksort(array):
if len(array)<2:
return array
else:
pivot=array[len(array)//2] #在数列中,选择一个元素作为基准,或者叫比较值
array.remove(pivot) #在原数组中把比较值移除
less,greater=[],[] #定义基准值左右两个列表
for i in array:
if i<=pivot: #小于基准值的放一侧
less.append(i)
else:
greater.append(i) #大于基准值的放另一侧
return quicksort(less)+[pivot]+quicksort(greater) #使用迭代进行比较

print(quicksort([30,24,5,58,18,36,12,42,39]))

输出为:
[5, 12, 18, 24, 30, 36, 39, 42, 58]

相关文章

  • 快速排序的Python实现

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

  • Python 数组快速排序的实现

    ''快速排序算法,采用分而治之的策略。它的基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有...

  • 手撕代码 之 快速排序

    1.实现快速排序算法 问题描述给定一个无序数组int[ ] a,使用快速排序算法进行排序。 解题思路对于快速排序,...

  • 品一品编程 --- 5

    问题描述: 实现基于数组的 sort 排序函数 程序如下: //冒泡排序 O(n^2) //快速排序---优势:...

  • 快速排序(Java)

    快速排序算法思想: (1)输入的数据信息:输入一个待排序的数组a[n],利用QuickSort算法实现此数组的排序...

  • IOS常见算法排序(冒泡,快速,两个有序数组合并等)

    冒泡排序的实现 快速排序的实现 两个有序数组合并成一个有序数组的实现(插入排序) 持续更新中... 有不对的地方欢...

  • js经典算法记录

    随机数组洗牌 简单的日期字符串排序 递归实现数组扁平化 极简版数组扁平化 记录数组项重复次数 冒泡排序 快速排序(...

  • 算法-快速排序

    快速排序 变形 : 快速排序(剪枝法)-找出数组中第k小的数 采用快速排序的思想来实现。选一个数 baseValu...

  • 堆排序

    堆排序算法利用堆的结构来执行快速排序。 为了实现从最低到最高排序,堆排序首先将未排序的数组转换为最大堆,以便数组中...

  • OC各种算法,排序,查找实现

    二维数组查找数字的OC实现 OC 二分查找的实现 快速排序

网友评论

    本文标题:Python 数组快速排序的实现

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