![](/img/trans.png)
[英]RecursionError: maximum recursion depth exceeded in comparison Python
[英]Quicksort Python Program returns RecursionError: maximum recursion depth exceeded in comparison
所以我在 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)
您定义了一个 function 打印,它调用打印(即它本身)。
这导致无限递归。
将 function 的名称更改为其他名称,例如 display
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.