n2
和 n2
是输入子数组的长度 - 它们是使用左中右索引计算的
无穷大值用作哨兵,在到达数组末尾时停止并消除数组尾部的复制(当一个数组耗尽时)
注意这是不切实际的,实际上合并实现经常检查相应数组的索引是否超出限制:
while i<=n1 and j<=n2:
if L[i] <= R[j]:
A[k++] = L[i++]
else:
A[k++] = R[j++]
然后移动其余部分:
while i<=n1:
A[k++] = L[i++]
while j<=n2:
A[k++] = R[j++]