43 private int dimension;
54 public void sort(T[] a,
int iMin,
int iMax) {
58 splitSort(a, iMin, iMax, 0);
62 private void splitSort(T[] a,
int iMin,
int iMax,
int splitCoord) {
63 if (iMin == (iMax - 1))
65 Arrays.sort(a, iMin, iMax,
new MultiDimComparator<T>(splitCoord));
66 int iMid = (iMin + iMax) / 2;
67 splitSort(a, iMin, iMid, (splitCoord + 1) % dimension);
68 splitSort(a, iMid, iMax, (splitCoord + 1) % dimension);
71 public void sort(T[] a) {
75 public void sort(
double[][] a,
int iMin,
int iMax) {
77 Arrays.sort(a, iMin, iMax,
new DoubleArrayComparator(0));
79 splitSort(a, iMin, iMax, 0);
83 private void splitSort(
double[][] a,
int iMin,
int iMax,
int splitCoord) {
84 if (iMin == (iMax - 1))
86 Arrays.sort(a, iMin, iMax,
new DoubleArrayComparator(splitCoord));
87 int iMid = (iMin + iMax) / 2;
88 splitSort(a, iMin, iMid, (splitCoord + 1) % dimension);
89 splitSort(a, iMid, iMax, (splitCoord + 1) % dimension);
92 public void sort(
double[][] a) {
96 public int dimension() {