def quick_sort(alist, first, last):
'''快速排序'''
if first >= last:
return alist
else:
mid_value = alist[first]
low = first
high = last
while low < high:
while low < high and alist[high] >= mid_value:
high -= 1
alist[low] = alist[high]
while low < high and alist[low] < mid_value:
low += 1
alist[high] = alist[low]
alist[low] = mid_value
#low左边的排序
quick_sort(alist, first, low-1)
#low右边的排序
quick_sort(alist, low+1, last)
if __name__ == '__main__':
li = [1, 0, 6, 20, -9, 95, -50, 87]
print(li)
quick_sort(li, 0, len(li)-1)
print(li)
C:\Users\user\AppData\Local\Programs\Python\Python36\python.exe “C:/Users/user/PycharmProjects/hellow python/test.py”
[1, 0, 6, 20, -9, 95, -50, 87]
[-50, -9, 0, 1, 6, 20, 87, 95]
Process finished with exit code 0