C中的Mergesort递归代码无法理解输出

时间:2018-09-01 09:49:34

标签: mergesort

我有一个与部分代码有关的问题。我是C语言的新手,开始研究排序算法并找到了以下代码:

MERGE-SORT(A, low, high)
if low < high
then mid = (low + high)/2
MERGE-SORT(A, low, mid)
MERGE-SORT(A, mid+1, high)
printArray(A, low, mid)
printArray(A, mid+1, high)
MERGE(A, low, mid, high)

我知道mergesort是做什么的,并且我理解递归,但是我对应该打印的内容感到困惑,它表明它将打印

3
0
2
0 3 7
2 5

有人可以解释打印此文件的步骤吗?当我尝试思考它将产生什么结果时,我的想法就大不相同了。

0 个答案:

没有答案