我在算法那本红书看到的这个自底向上的归并排序的算法,但是这个代码里面的 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));
}
}
1
DsuineGP 2018-11-19 15:51:10 +08:00
实现了 Comparable 接口的对象数组啊...
|
2
choice4 2018-11-20 20:02:08 +08:00
多态
|