【发布时间】:2015-03-31 07:26:57
【问题描述】:
我正在 Python 中执行合并排序分配,但我一直有 RuntimeError: maximum recursion depth exceeded
的错误
这是我的代码:
def merge_sort(list):
left_num = len(list) // 2
left_sorted = merge_sort(list[:left_num])
right_sorted = merge_sort(list[left_num:])
final_sort = merge(left_sorted, right_sorted)
return final_sort
def merge(left_sorted, right_sorted):
final_sort = []
while left_sorted and right_sorted:
if left_sorted[0] <= right_sorted[0]:
final_sort.append(left_sorted[0])
left_sorted.pop(0)
else:
final_sort.append(right_sorted[0])
right_sorted.pop(0)
final_sort = final_sort + left_sorted + right_sorted
return final_sort
if __name__ == "__main__":
list = [4, 2]
print(merge_sort(list))
谁能告诉我为什么?为了使问题对其他人更有用,请随时编辑问题以使其更有意义。 ^_^
【问题讨论】:
标签: python list python-3.x recursion mergesort