Code KitchenAllgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.
Bubblesort Algorithmus für Strings
Diskussion: Bubblesort Algorithmus für Strings im Forum Code Kitchen, in der Kategorie Software Home; Anzeige
Ich würde mich über hilfreiche Kommentare zur "Ansehnlichkeit" des Codes und über Verbesserungsvorschläge freuen [;
Java-Code
package ...
Wieso übergibst du dem Konstruktor extra die Anzahl der Elemente? Du hast sie doch schon durch deinen Array vorgegeben. Dadurch ist dein Programm auch anfällig, z.B.: SortString = new SortString(100, [a, b, e, r]); <-- hier solltest du einen Fehler bekommen...
Es ist schon möglich, dass du den Array komplett durchläufst, aber warum übergibst du nicht einfach die Referenz?
Deine getOrder-Methode, bzw. defineOrder finde ich etwas redundant. Zum einen musst du bei defineOrder nicht jeden Buchstaben lower- und upper-Case aufzählen (dein 'B' ist falsch...) sondern kannst gleich alle im Array als lower-Case schreiben! Zum anderen gibt es so was wie eine ASCII-Tabelle, worin die Buchstaben nach deren Reihenfolge aufgeschrieben sind.
Dein Sortieralgorithmus scheint in Ordnung zu sein, zumindest sehe ich gerade keine groben Fehler. Aber willst du wirklich BubbleSort verwenden?
Danke! Auf die Idee mit der ASCII-Tabelle bin ich leider nicht gekommen^^"
Was Bubblesort angeht: nein Das habe ich nur zu Übungszwecken geschrieben. Wir haben im Unterricht leider noch keine anderen Algorithmen behandelt, werden aber bald noch u.a. Quicksort besprechen.
Normalerweise implementiert man eine Sortieralgorithmus allgeimein, der für jeden Datentyp funktioniert für den es eine compare-Funktion gibt. Dafür wurde z.B. in Java das Compareable-Interface eingeführt. So sieht ein allgemeiner Bubblesort in C aus: chm0815 Blog: A generic bubblesort in plain C