also gut geschrieben?
static void mergeSort(int[] array) {
msort(array, 0, array.length - 1);
}
static void msort(int[] array, int left, int right) {
if (right > left) {
int mid = (right + left) / 2;
msort(array, left, mid);
msort(array, mid + 1, right);
int[] b = new int[array.length];
for (int k = left; k <= mid; k++)
b[k] = array[k];
for (int k = mid + 1; k <= right; k++)
b[right + mid + 1 - k] = array[k];
int i = left;
int j = right;
for (int k = left; k <= right; k++) {
if (b[i] < b[j])
array[k] = b[i++];
else
array[k] = b[j--];
}
}
}
Verwandte Themen
Ist das guter Sortieralgo?
Java,
Array,
C Sharp,
Programmiersprache,
Algorithmus,
C (Programmiersprache)