从维基百科的块排序页面我发现块排序的工作原理是将初始数组划分为长度为 16 的小子数组,例如,在 O(n) 时间内对所有这些子数组进行排序,然后以我可以的方式合并所有这些块不明白。
例如,考虑一个长度为 16 的数组,将其分成 4 个块,每个块的长度为 4,并对这些块进行排序,我们得到:
10 1 8 3 4 19 20 13 14 17 8 9 12 18 7 20
10 1 8 3 ----- 4 19 20 13 ----- 14 17 8 9 ----- 12 18 7 20
1 3 8 10 ----- 4 13 19 20 ----- 8 9 14 17 ----- 7 12 18 20
Run Code Online (Sandbox Code Playgroud)
谁能解释一下合并步骤是如何工作的?