private void sort(@Nonnull T[] a, int l, int r, @Nonnull Comparator<? super T> c, @Nonnull T[] aux) { if (r - l > 0) { final int m = l + (r - l + 1) / 2; sort(a, l, m - 1, c, aux); sort(a, m, r, c, aux); merge(a, l, r, m, c, aux); } }
private void sort(@Nonnull T[] a, int l, int r, @Nonnull Comparator<? super T> c, @Nonnull T[] aux) { if (r - l > 0) { final int m = l + (r - l + 1) / 2; sort(a, l, m - 1, c, aux); sort(a, m, r, c, aux); merge(a, l, r, m, c, aux); } }