Heute wird es wieder praktisch: Es geht um Sortierung mit Bubblesort.Es gibt verschiedene Möglichkeiten zu Sortieren. Bubblesort ist nur eine davon.
Aber der Reihe nach.
In den vergangenen Folgen haben wir uns ja schon ausgiebig mit Pointern und Arrays beschäftigt.
Die Theorie sitzt soweit, denke ich. Falls Du noch ein bisschen Übung beim Programmieren benötigst, ist das Thema Pointer eine wunderbare Gelegenheit.
Das Programmieren mit Pointern und das Ausprobieren erklärt viele Dinge.
Nachdem die Grundlagen zu Pointern also abgehakt sind, stellt sich die Frage, was man mit Pointern überhaupt machen kann. Zum Selbstzweck sind Pointer bestimmt nicht erfunden worden.
Ein Kommentar von Christos im letzten Artikel bringt die Problematik schön auf den Punkt.
Leider habe ich bisher in Übungen usw. Pointer nur bis zu diesem Punkt
angewendet.
Wofür sind Pointer eigentlich in der Programmierpraxis gut? In welchen Fällen
hat man in der allgemeinen Programmierpraxis und beim programmieren von Mikrocontrollern Vorteile, wenn man mit Pointern arbeitet? Und welche?
Wozu dienen Sie? Ich hab mal gehört, dass Sie z.B. Speicherplatz sparen sollen?
Das kann doch eigentlich nicht sein. Oder? Sie benötigen doch schließlich auch ein Speicherplatz wie eine „normale“ Variable.
Bubblesort
Deshalb soll es jetzt einmal um eine Anwendung von Pointern gehen. Und zwar am Beispiel einer Sortieraufgabe mit Bubblesort.
Bubble kommt aus dem Englischen und bedeutet Blase, im Sinne von Luftblase. Und genau wie die Luftblasen in einer Flüssigkeit nach oben steigen und sich schwere Elemente unten und leichtere Elemente oben anlagern, treiben durch Bubblesort Elemente aufgrund ihres Wertes an die richtige Stelle.
Video zu Pointern und Bubblesort
Wie das genau funktioniert zeige ich im folgenden Video.
Falls Du Dich noch tiefer mit Bubblesort beschäftigen möchtest /musst poste ich hier noch einem mal den Link zum Wikipedia Bubblesort-Artikel.
Bubblesort ist keine sehr elegante Art zu sortieren. Es gibt bessere Algorithmen zur Sortierung. Hier geht es darum, den Umgang mit Pointern zu üben. Und dafür benötigen wir einen Algorithmus, der leicht zu implementieren ist.
Deine Bubblesort Funktion
Die heute Aufgabe hat es schon in sich. Programmiere die Funktion sort, die die Elemente mit Bubblesort ordnet.
Beim nächsten Mal gibt es dann eine mögliche Lösung zur Implementierung von Bubblesort.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]