def quickSort(arr,left,right): # 设置left和right可以只排片段了
# 设置退出条件
if left>=right:
return
temp=arr[left]
i=left
j=right
while i<j:
while i<j and arr[j]>=temp:
j-=1
while i<j and arr[i]<=temp:
i+=1
if i<j:
t=arr[i]
arr[i]=arr[j]
arr[j]=t
arr[left]=arr[i]
arr[i]=temp
quickSort(arr,left,i-1)
quickSort(arr,i+1,right)
return arr
arr=[12,3,4]
a=quickSort(arr,0,len(arr)-1)
print(a)
运行错误总结:
递归>=0,跳出循环。
terminal一定要退出循环才进行下一次run,不然一直会在执行循环。