我在算法那本红书看到的这个自底向上的归并排序的算法,但是这个代码里面的 Comparable[]数组是啥子啊,对象数组吗,麻烦大佬看一下,我百度只知道是实现了 Comparable 类是用来实现后比较数据的。没有看到 Comparable[]数组的东西。
public class MergeBU
{
private static Comparable[] aux; // 归并所需的辅助数组
public static void sort(Comparable[] a)
{ // 进行 lgN 次两两归并
int N = a.length;
aux = new Comparable[N];
for (int sz = 1; sz < N; sz = sz+sz) // sz: 子数组大小
for (int lo = 0; lo < N-sz; lo += sz+sz) // lo: 子数组索引
merge(a, lo, lo+sz-1, Math.min(lo+sz+sz-1, N-1));
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.