标签:参数 value 位置 sort python comment 数组 快速 ber
思路:选择第0位置的元素作为基准,遍历列表将小于基准的放入基准点位置,基准点右移
def quick_sort(alist,start,end):
if start > end:
return
mid = start
for i in range(start+1,end+1): # 对end+1是因为range不包含结束位,因此end开始的参数不可以位列表的长度,需要len(alist)-1
if alist[i] < alist[mid]:
tmp = alist[i]
del alist[i]
alist.insert(mid,tmp)
mid += 1
# 对左右侧分别进行快排
quick_sort(alist,start,mid-1)
quick_sort(alist,mid+1,end)
=================以下为百度百科===========================
def quickSort(array): if len(array) < 2: # 基线条件(停止递归的条件) return array else: # 递归条件 baseValue = array[0] # 选择基准值 # 由所有小于基准值的元素组成的子数组 less = [m for m in array[1:] if m < baseValue] # 包括基准在内的同时和基准相等的元素,在上一个版本的百科当中,并没有考虑相等元素 equal = [w for w in array if w == baseValue] # 由所有大于基准值的元素组成的子数组 greater = [n for n in array[1:] if n > baseValue] return quickSort(less) + equal + quickSort(greater)
标签:参数 value 位置 sort python comment 数组 快速 ber
原文地址:https://www.cnblogs.com/Sksitigarbha/p/10145023.html