【发布时间】:2014-01-26 05:56:45
【问题描述】:
我在 python 中编写了一个合并排序算法。它在 10000 个数字之前完美运行,但在 10000 个数字之后它给了我分段错误 11。可能是什么问题?关于它的任何想法
def merge_count(arr):
if len(arr) < 2:
return (arr, 0)
m = int(len(arr) / 2)
left, l_counter = merge_count(arr[:m])
right, r_counter = merge_count(arr[m:])
return merge(left, right, l_counter + r_counter)
def merge(left, right, counter):
if len(left) * len(right) == 0:
return (left + right, counter)
if left[len(left) - 1] > right[len(right) - 1]:
val = left.pop(len(left) - 1)
counter += len(right)
else:
val = right.pop(len(right) - 1)
arr, counter = merge(left, right, counter)
return (arr + [val], counter)
【问题讨论】:
-
分段错误?在 Python 中?你到底做了什么?向我们展示代码。
-
我添加了我的代码@user2357112
标签: python python-2.7 segmentation-fault