欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

快速排序 -- 不稳定算法

程序员文章站 2022-03-12 16:57:45
...
基本原理
1, 从数列中挑出一个元素,作为 “基准”值
2, 重新排序数列,将所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)
3, 把小于基准值元素的子数列和大于基准值元素的子数列排序进行递归操作
助理解

快速排序 -- 不稳定算法

code
def quick_sort(lst):
	if len(lst) <= 1:
		return lst
	pivot = lst.pop() # 选取基准值
	
	# left列表为lst中比基准值小或等于的数 组成的列表
	left = [element for element in lst if element <= pivot]
	
	# right列表为lst中比基准值大的数 组成的列表
	right = [element for element in lst if element > pivot]

	# 对left列表和right列表递归排序
	return quick_sort(left) + [pivot] + quick_sort(right)
相关标签: Python 排序算法