Итак, я написал алгоритм быстрой сортировки в Python и у меня появляется эта ошибка (ниже)
Traceback (most recent call last):
File "hw2.py", line 5, in print
print(input[i])
File "hw2", line 5, in print
print(input[i])
File "hw2", line 5, in print
print(input[i])
[Previous line repeated 996 more times]
File "hw2", line 4, in print
for i in range(0, INPUT_SIZE):
RecursionError: maximum recursion depth exceeded in comparison
Есть идеи, что с ним не так? Я уже добавил лимит рекурсии в мой код, но он ничего не делал (код ниже). Любая помощь будет принята :)
import sys
sys.setrecursionlimit(15000)
def print(input):
for i in range(0, INPUT_SIZE):
print(input[i])
print("\n")
def partition(input, p, r):
pivot = input[r]
while(p < r):
while(input[p] < pivot):
p = p + 1
while(input[r] > pivot):
r = r - 1
if(input[p] == input[r]):
p = p+1
elif(p < r):
tmp = input[p]
input[p] = input[r]
input[r] = tmp
return r
def quicksort(input,p,r):
if(p<r):
j = partition(input,p,r)
quicksort(input,j-1)
quicksort(input,j+1,r)
if __name__ == '__main__':
INPUT_SIZE = 10
input = [500,700,800,100,300,200,900,400,1000,600]
print("Input: ")
print(input)
quicksort(input, 0, 9)
print("Output: ")
print(input)