排序算法-快速排序
def sort(alist, left, right):
"""
快速排序
:param alist: 需要排序的序列
:param left: 需要排序的序列开始位置索引
:param right: 需要排序的序列结束位置索引
:return: 排序好的序列
"""
low = left
high = right
if low > high:
return
mid = alist[low]
while low < high:
while low < high:
if alist[high] >= mid:
high -= 1
else:
alist[low] = alist[high]
low += 1
break
while low < high:
if alist[low] <= mid:
low += 1
else:
alist[high] = alist[low]
high -= 1
break
if low == high:
alist[high] = mid
sort(alist, left, low - 1)
sort(alist, high+1, right)
return alist
lst = [6, 1, 2, 7, 9, 3, 4, 5, 10, 8]
print(sort(lst, 0, len(lst) - 1))