def quciksort(lst, begin, end):
if i >= j:
return
i = begin
j = end
key = lst[i]
while i < j:
while i < j and lst[j] >= key:
j -= 1
lst[i] = lst[j]
while i < j and lst[i] <= key:
i += 1
lst[j] = lst[i]
lst[i] = key
quciksort(lst, begin, i - 1)
quciksort(lst, i + 1, end)
注意:
1、while i < j and lst[j] >= key 这里一定要有等于号,否则会造成无限递归
2、quciksort(lst, begin, i - 1) quciksort(lst, i + 1, end)这样写递归的次数最少的,key值的位置特殊,不需要再次进行排序