Hallo zusammen,
Ich habe folgendes Problem:
Wir sollen als Hausaufgabe eine Methode schreiben, wo ein Array durch Selectionsort sortiert wird und jeder einzelne Schritt ausgegeben werden soll:
Zum Beispiel für das Array:
Soll die Ausgabe so aussehen:
Dazu habe ich folgenden Quelltext implementiert:
mit der vorgegebenen Main-Methode:
Bei mir kommt dabei diese Ausgabe raus:
Was muss ich verändern damit mir jeder einzelne Schritt ausgegeben wird?
Vielen Dank im Vorraus!
Ich habe folgendes Problem:
Wir sollen als Hausaufgabe eine Methode schreiben, wo ein Array durch Selectionsort sortiert wird und jeder einzelne Schritt ausgegeben werden soll:
Zum Beispiel für das Array:
35, 7, 63, 42, 24, 21
Soll die Ausgabe so aussehen:
Code:
[ 7 35 63 42 24 21 ]
[ 7 21 63 42 24 35 ]
[ 7 21 24 42 63 35 ]
[ 7 21 24 35 63 42 ]
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
Java:
public static int[][] selctionsort(int[] a) {
if (a == null){
return null;
}
if (a.length == 0){
int[][] leer = new int[5][5];
return leer;
}
int[][] ergebnis = new int[a.length][a.length];
for(int i = 0; i < a.length; i++){
findeMinUndTausche(a, i);
ergebnis[i] = a;
}
return ergebnis;
}
public static void findeMinUndTausche(int[] p, int z) {
int min = p[z];
for (int i = z; i < p.length; i++){
if(p[i] < min){
min = p[i];
}
}
for (int j = 0; j < p.length; j++){
if(p[j]==min){
int hilfs = p[z];
p[z] = p[j];
p[j] = hilfs;
}
}
}
}
Java:
public static void main(String[] args) {
int[] a = new int[] { 35, 7, 63, 42, 24, 21 };
int[][] c = Functionality.selctionsort(a);
for (int i = 0; i < c.length; i++){
System.out.print("[ ");
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j]+" ");
}
System.out.println("]");
}
Code:
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
[ 7 21 24 35 42 63 ]
Vielen Dank im Vorraus!
Zuletzt bearbeitet von einem Moderator: