0
我對Python非常陌生,我正在嘗試使用算法。我只是在使用快速排序算法對數組進行排序時嘗試了我的雙手。Quicksort in place Python
以下是我的代碼。當我運行這個有一個無限循環作爲輸出。任何人都可以通過代碼,讓我知道我的錯在哪裏邏輯:
def quicksort(arr,start,end):
if start < end:
pivot = arr[int(start + (end - start)/2)]
while end > start:
while arr[start] < pivot:
start = start + 1
while arr[end] > pivot:
end = end - 1
if start <= end:
arr[start],arr[end] = arr[end],arr[start]
start = start + 1
end = end - 1
quicksort(arr,0,end)
quicksort(arr,start,len(arr) - 1)
else:
return
arr = list(map(int,input().split(" ")))
quicksort(arr,0,len(arr) - 1)
print ("The final sorted array:",arr)
感謝您的任何幫助提前。
你必須根據你的陣列分裂做到這一點數據透視表 – proton
但是我的代碼中數據的位置並不固定。我想它可以移動。 –