Я пытаюсь рекурсивно реализовать быструю сортировку в python, и я столкнулся с проблемой.Этот код должен прекратить повторяться, если каждая итерация быстрой сортировки имеет длину 1, но это никогда не происходит.У кого-нибудь есть идеи, почему?
#!/usr/bin/python
import fileinput
import numpy as np
import string
def Quicksort(arrayIn, start, end):
pivot = end
temp = 0
if end <= start:
return
for e in range(1, len(arrayIn)):
if arrayIn[e] > arrayIn[pivot]:
temp = arrayIn[pivot]
arrayIn[pivot] = arrayIn[e]
arrayIn.pop(e)
arrayIn.insert((pivot - 1), temp)
Quicksort(arrayIn, 0, (pivot - 1))
Quicksort(arrayIn, (pivot + 1), (len(arrayIn) - 1))
for line in fileinput.input():
myList = line.split(",")
noSpace = [x.strip(' ') for x in myList]
myArray = []
for x in noSpace:
myArray.append(x)
Quicksort(myArray, 0, (len(myArray) - 1))
print myArray