Moin Leute,
habe mal eine Frage. Ich versuche den MergeSort Algorithmus für die Sortierung eines String [] array zu schreiben.
Als Parameter für den Aufruf nehme ich ein String [] array welches ein Index von 30 besitzt und setzt left auf 0 und right auf array.length-1.
Das übergebene Array hat an jeder Stelle genau ein Wort z.b. array [0] = "."; array [1] = "Hans";
Das Problem ist, dass die Sortierung vorne und hinten nicht hinhaut.
Folgendes habe ich :
Die wenn ich das Array printe ,ist es voller null Werte und vereinzelt Strings.
Habt ihr eine Ahnung wieso das nicht hinhaut?
Gruß
habe mal eine Frage. Ich versuche den MergeSort Algorithmus für die Sortierung eines String [] array zu schreiben.
Als Parameter für den Aufruf nehme ich ein String [] array welches ein Index von 30 besitzt und setzt left auf 0 und right auf array.length-1.
Das übergebene Array hat an jeder Stelle genau ein Wort z.b. array [0] = "."; array [1] = "Hans";
Das Problem ist, dass die Sortierung vorne und hinten nicht hinhaut.
Folgendes habe ich :
Java:
public class Sortierung {
static void msort(String [] array, int left, int right){
int i;
int j;
int k;
String [] b = new String[array.length];
if(right > left){
int middle = (right + left)/2;
msort(array , left, middle);
msort(array, middle+1, right);
for(k = left;k <= middle; k++){
b[k] = array[k];
}
for(k = middle; k < right; k++){
b[right + middle - k] = array[k+1];
}
i = left;
j = right;
for(k = left; k <= right; k++){
if(i <= middle )
if(b[i].equals(b[j])){
array[k] = b[i++];
}else{
array[k] = b[j--];
}
}
}
}
}
Die wenn ich das Array printe ,ist es voller null Werte und vereinzelt Strings.
Habt ihr eine Ahnung wieso das nicht hinhaut?
Gruß