我正在用python编写一个程序,并试图实现merge sort算法(并使用一个名为merge的函数来处理merge步骤),我得到一个错误如下。我将L=[2,6,4,8,1]传递给合并排序的参数:
>>> L = [2, 6, 4, 8, 1]
>>> mergeSort(L)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
mergeSort(L)
File "H:\CSIS 4014\WinPython-64bit-3.5.3.1Qt5\notebooks\sorts.py", line 19, in mergeSort
mergeSort(left)
File "H:\CSIS 4014\WinPython-64bit-3.5.3.1Qt5\notebooks\sorts.py", line 21, in mergeSort
merge(L, left, right, p, q, r)
File "H:\CSIS 4014\WinPython-64bit-3.5.3.1Qt5\notebooks\sorts.py", line 24, in merge
left[len(left)+1] = 999999
IndexError: list assignment index out of range
以下是我的源代码:
^{pr2}$我试着用切片来表示子数组的左右两边的变量,以及我教科书中的伪代码。我会很感激你的帮助!在
这总是一个错误。。。你特别想写一个不存在的元素。列表的最后一个元素位于
left[len(left) - 1]
。写入任何超出此值的索引都是错误的。在也许你是想追加?在
^{pr2}$相关问题 更多 >
编程相关推荐