mercredi 22 avril 2015

Fehler im Selection Sort

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 helfen.

Danke für kommende Antworten !

Code:

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,


Fehler im Selection Sort

0 commentaires:

Enregistrer un commentaire