Я пытаюсь реализовать quicksort в python на месте. Я следил за псевдокодом из статьи wikipedia здесь, но это не приводит к сортировке списка. Что-нибудь кажется невероятно неправильным?На месте quicksort - python
# Perform QuickSort in place
def partition(arr,low,high):
pivotIndex = random.randint(0,high)
pivotValue = arr[pivotIndex]
currentIndex = low
t = arr[high]
arr[high] = pivotValue
arr[pivotIndex] = t
for i in range(low,high-1):
if arr[i] < pivotValue:
t = arr[i]
arr[i] = arr[currentIndex]
arr[currentIndex] = t
currentIndex += 1
t = arr[currentIndex]
arr[currentIndex] = arr[high]
arr[high] = t
return currentIndex
def quickSort(arr,low,high):
# pick partition
if low < high:
part = partition(arr,low,high)
quickSort(arr,low,part-1)
quickSort(arr,part+1,high)
arr = [1,3,6,7,9,10]
quickSort(arr,0,len(arr)-1)
print arr
«это не производит отсортированный список» - вместо этого он производит? Что такое * актуальная проблема *? –