So, hallo.
Bin gerade dabei einen einfachen Mergesort in Java zu programmieren, so ganz klappt das aber irgendwie nicht, als AUsgabe bekomme ich nur "[I@15db9742". Hat noch jemand Tipps, wie man das beheben könnte, bzw. wie man den Code übersichtlicher gestalten könnte?
MFG
Bin gerade dabei einen einfachen Mergesort in Java zu programmieren, so ganz klappt das aber irgendwie nicht, als AUsgabe bekomme ich nur "[I@15db9742". Hat noch jemand Tipps, wie man das beheben könnte, bzw. wie man den Code übersichtlicher gestalten könnte?
MFG
Java:
public class Mergesort {
public static void mergesort(int[] a) {
mergesort(a, 0, a.length - 1);
}
private static void mergesort(int[] a, int l, int r) {
if (l >= r)
return;
int m = (l + r) / 2;
mergesort(a, l, m);
mergesort(a, m + 1, r);
merge(a, l, m, r);
}
private static void merge(int[] a, int l, int m, int r) {
if (m + 1 > r)
return;
int[] b = new int[a.length];
for (int i = l; i != m + 1; i++) {
b[i] = a[i];
}
for (int i = m + 1; i != r + 1; i++) {
b[i] = a[r + m + 1 - i];
}
int k = l;
int j = r;
for (int i = l; i != r + 1; i++) {
if (b[k] <= b[j])
a[i] = b[k++];
else
a[i] = b[j--];
}
}
public static void main(String[] args){
int[] intArr = { 16, 23, 14, 7, 21, 20, 6, 1, -17, 13, 12, 9, 3, 19, 22, 99, 111, 2222 };
mergesort(intArr);
System.out.println(intArr);
}
}