Guten morgen,
Ich habe einen Selection Sort implementiert leider hat dieser aber einen schritt der als solches falsch ist:
Kann mir jemand helfen den Fehler im Code zu finden.
Danke für kommende Antworten !
AUSGABE:
Unsortiert: 23, 42, 4, 16, 8, 15,
Schritt: 1 23, 42, 4, 16, 8, 15,
Schritt: 2 4, 42, 23, 16, 8, 15,
Schritt: 3 4, 8, 42, 23, 16, 15,
Schritt: 4 4, 8, 15, 42, 23, 16,
Schritt: 5 4, 8, 15, 16, 42, 23,
Sortiert: 4, 8, 15, 16, 23, 42,
Richtig Wäre:
Unsortiert: 23, 42, 4, 16, 8, 15,
Schritt: 1 23, 42, 4, 16, 8, 15,
Schritt: 2 4, 42, 23, 16, 8, 15,
Schritt: 3 4, 8, 23, 16, 42, 15,
Schritt: 4 4, 8, 15, 16, 42, 23,
Schritt: 5 4, 8, 15, 16, 23, 42,
Sortiert: 4, 8, 15, 16, 23, 42,
Ich habe einen Selection Sort implementiert leider hat dieser aber einen schritt der als solches falsch ist:
Kann mir jemand helfen den Fehler im Code zu finden.
Danke für kommende Antworten !
Java:
public class SelectionSort {
public static void main(String[] args) {
int[] unsortiert = { 23, 42, 4, 16, 8, 15 };
unsortiert(unsortiert);
int[] sortiert = selectionsort(unsortiert);
System.out.print("Sortiert: ");
for (int i = 0; i < sortiert.length; i++) {
System.out.print(sortiert[i] + ", ");
}
}
public static int[] selectionsort(int[] sortieren) {
int schritt = 0;
for (int i = 0; i < sortieren.length - 1; i++) {
schritt = schritt + 1;
schritte(sortieren, schritt);
for (int j = i + 1; j < sortieren.length; j++) {
if (sortieren[i] > sortieren[j]) {
int temp = sortieren[i];
sortieren[i] = sortieren[j];
sortieren[j] = temp;
}
}
}
return sortieren;
}
public static void unsortiert(int[] unsortiert) {
System.out.print("Unsortiert: ");
for (int k = 0; k < unsortiert.length; k++) {
System.out.print(unsortiert[k] + ", ");
}
System.out.println();
}
public static void schritte(int[] sortieren, int schritt) {
System.out.print("Schritt: " + schritt + " ");
for (int g = 0; g < sortieren.length; g++) {
System.out.print(sortieren[g] + ", ");
}
System.out.println();
}
}
AUSGABE:
Unsortiert: 23, 42, 4, 16, 8, 15,
Schritt: 1 23, 42, 4, 16, 8, 15,
Schritt: 2 4, 42, 23, 16, 8, 15,
Schritt: 3 4, 8, 42, 23, 16, 15,
Schritt: 4 4, 8, 15, 42, 23, 16,
Schritt: 5 4, 8, 15, 16, 42, 23,
Sortiert: 4, 8, 15, 16, 23, 42,
Richtig Wäre:
Unsortiert: 23, 42, 4, 16, 8, 15,
Schritt: 1 23, 42, 4, 16, 8, 15,
Schritt: 2 4, 42, 23, 16, 8, 15,
Schritt: 3 4, 8, 23, 16, 42, 15,
Schritt: 4 4, 8, 15, 16, 42, 23,
Schritt: 5 4, 8, 15, 16, 23, 42,
Sortiert: 4, 8, 15, 16, 23, 42,
Zuletzt bearbeitet von einem Moderator: