小雷恶补
欢迎交流vxin:lxq2390968687
def quick_sort(arry):
part_quick_sort(arry, 0, len(arry)-1)#局部快排
return arry
def part_quick_sort(arry, L, R):
if L >= R:#序列中无记录或只有一条记录
return
i = L
j = R
x = arry[i]#取出第一个元素给x,其他元素与x进行比较,将序列分为左右两半
while i < j:
#取出第一个元素后,第一个位置空,从最右端扫描元素与x比较,找到小于x的元素将其放入空位置
while i < j and arry[j] > x:#后边值大于x,则j减小
j -= 1
if i < j:
arry[i] = arry[j]
i +=1
# 此时右边的位置为空,从左端i++开始扫描元素与x比较,找到小于x的元素将其放入空位置
while i < j and arry[i] < x:#前边值小于x,则i减小
i +=1
if i < j:
arry[j] = arry[i]
j -=1
arry[i] = x
part_quick_sort(arry, 1, i-1)#递归处理左半部分
part_quick_sort(arry, i+1, R)#递归处理右半部分
a = [1,5,3,4,2,6]
a = quick_sort(a)
print(a)