合并排序算法的合并步骤

问题描述 投票:0回答:1

我有一个问题,希望有人能帮助我。我真的不明白合并排序算法的合并步骤的伪代码。我了解它的工作原理,但不了解代码。如果有人能给我解释一下,我将不胜感激:)谢谢 Merge sort pseudocode Merge step pseudocode

我实现了代码,但我不明白它。

algorithm mergesort pseudocode
1个回答
0
投票

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++]
© www.soinside.com 2019 - 2024. All rights reserved.