我正在尝试在python中实现快速排序算法,但无法获得所需的输出,而是返回None。
# Author: Junth Basnet
def QuickSortFirst(array):
QuickSort(array, 0, len(array) - 1)
def QuickSort(array, left, right):
if left >= right:
return array
pivot = array[(left + right) // 2]
index = Partition(array, left, right, pivot)
QuickSort(array, left, index - 1)
QuickSort(array, index, right)
def Partition(array, left, right, pivot):
while left <= right:
while array[left] < pivot:
left += 1
while array[right] > pivot:
right -= 1
if left <= right:
array[left], array[right] = array[right], array[left]
left += 1
right -= 1
return left
array = [1, 6, 4, 10, 7, 30, 25]
print(array)
sorted_array = QuickSortFirst(array)
print(sorted_array)
预期结果:
[1、4、6、7、10、25、30]
实际结果:
没有