嗨,我是Python新手,当我为快速排序算法实现以下代码时,我得到了一个回溯:“IndexError:list index out of range”。你知道吗
谁能帮帮我吗。我挣扎了一整夜!你知道吗
谢谢!你知道吗
def quicksort(array,l,r):
n = len(array)
if n == 1 or n == 0:
return array
else:
p = array[l]
i = l + 1
for j in range(l+1, r):
if array[j] < p:
array[i], array[j] = array[j], array[i]
i = i + 1
array[l], array[i-1] = array[i-1], array[l]
array[l:i-1] = quicksort(array[l:i-1],l,i-1)
array[i:r] = quicksort(array[i:r],i,r)
return array
testarray = [1,3,4,5,2]
sortedarray = quicksort(testarray,0,5)
修正了错误,但我认为你的排序逻辑是错误的
输出
相关问题 更多 >
编程相关推荐