Stimmt dieser Code?
4 Antworten
Es sieht für mich beides so aus, als würde es ein sortiertes Array zurückgeben, aber ich glaube nicht, dass das ein Bubblesort und ein Selectionsort sind.
Beim Bubblesort läuft normalerweise eine Schleife (meines Wissens die äußere) absteigend (also mit i--) und die andere (also die innere) aufsteigend (also mit j++).
Der Selectionsort müsste irgendwo das minimale oder maximale Element speichern, dass "selected" wird. Das sehe ich in deinem Code gerade nicht.
Es kann gut sein, dass ich falsch liege, daher korrigiert mich gerne. GGegebenenfallskannst du für beide Sortieralgorithmen auch einfach die Pseudocodes googlen und dort nochmal nachgucken.
Funktioniere dürfte es.
Allerdings ist der vermeintliche Bubblesort eher Selectionsort und der vermeintliche Selectionsort eher Bubblesort.
Der "Bubblesort" (Selectionsort) Algorithmus ist allerdings sehr ineffizient, da jedesmal vertauscht wird und nicht zunächst das minimale Element gesucht wird.
Dazu ist in dem zweiten Algorithmus ein Fehler, das letzte Element des Arrays wird nicht berücksichtigt.
Sieht richtig aus, aber habe es nicht getestet.
Beim Codestyle und -format gibt es aber noch verbesserungspotential. Mach Leerzeichen zwischen die Operatoren, mach nur ein Assignment pro Statement und deklariere die Variablen erst da, wo sie gebraucht werden.
Zudem immer geschweifte Klammern für Schleifen und Verzweigungen verwenden. Sonst ist das Fehleranfällig wenn z.B. etwas in der Schleife hinzugefügt werden soll.
Außerdem sollten etwas mehr Kommentare vorhanden sein. Zudem sollten die Kammentare und auch die Formattierung über das Programm hinweg konsistent sein.
Nein, enthält einen gefährlichen Fehler.
Wenn du mal max auf 20 setzt und dir nach der Initialisierung deiner Arrays jedes testB und testS ausgeben lässt wirst du es merken.
Ansonsten jede Menge Anti-Patterns wie Deutsch/Englisch-Mischmasch, unnötiges und fehleranfälliges Weglassen von Klammern, schlechte Benamung von Variablen