[英]List index out of range error in merge sort function
我編寫了合並排序程序,在復制 arrays 時,在L[i] = A[p+i]
處為新數組分配值時出現列表索引超出范圍的錯誤
A = [1,2,6,8,3,4,5,7]
# p = 0,r = 7 ,q = 3
def Merge(A,p,q,r):
n1 = q - p
n2 = r - q
L = []
R = []
for i in range(n1):
L[i] = A[p+i]
for i in range(n2):
R[i] = A[q+i]
i = 0
j = 0
Array = []
for x in range(p,r):
if L[i] < R[j]:
Array[x] = L[i]
i = i +1
else:
Array[x] = R[j]
j = j +1
Merge(A,0,3,7)
您的 L 和 R arrays 為空,您嘗試在 for 循環中訪問 L[i] 和 R[i]。 這會導致索引錯誤。 嘗試先初始化數組以訪問其索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.