快速排序
- 分而治之思路,设置一个基准数,然后将数组分成两组,大于基准数和小于基准数。
def quick_sort(lis, i, j):
if i > j:
return
temp = lis[i]
l, r = i, j
while l < r:
while l < r and lis[r] >= temp:
r -= 1
while l < r and lis[l] <= temp:
l += 1
if l < r:
lis[l], lis[r] = lis[r], lis[l]
lis[i] = lis[l]
lis[l] = temp
quick_sort(lis, i, l-1)
quick_sort(lis, l+1, j)