Рекурсия не останавливается в питоне - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь рекурсивно реализовать быструю сортировку в 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
...