Site hosted by Angelfire.com: Build your free website today!

Allgemeine Hinweise


Das folgende sollte man gelesen haben, damit es beim Verständnis der Quellcodes keine Probleme gibt:

Der gesamte Code ist in C++ geschrieben - es sollte jedoch keine größeren Probleme bereiten, ihn in eine andere höhere  Programmiersprache, wie z.B. Pascal zu portieren.

In C++ werden die Felder mit 0 beginnend indiziert. feld[0] bezeichnet daher das erste Element von feld. Da dies jedoch ungewohnt für uns ist, da wir normalerweise mit der Zahl 1 anfangen zu zählen; feld[0] oft als "Marker-Element" benutzt wird; und in einigen anderen Sprachen (Pascal ?!?) das erste Element mit 1 angesprochen wird, lassen wir es in der Regel frei und schreiben den ersten "normalen" Wert in feld[1].

Man beachte, dass:  wert = feld[i++];    und    wert = feld[++i];    NICHT das selbe ist! Der erste Ausdruck weist zunächst wert den Inhalt von feld[i] zu und inkrementiert i danach, wogegen der zweite Ausdruck zuerst i inkrementiert und danach wert den Inhalt von feld[i] zuweist.

Sämtliche Funktionsname fangen mit "cm_" an, da sie von Christoph Müller codiert worden sind.

Oft findet man die Wörter itemType und dataType. Bevor man die Listings in seine Programme einbauen kann, muß man per typedef oder der template Funktion den Typ (int, float, ein selbst definierter Typ, etc.) der Objekte, die durch itemType bzw. dataType definiert werden, anpassen.

keineDaten und minKey müssen mit Werten vorbelegt werden, die angeben, was zurückgegeben werden soll, wenn das gesuchte Element nicht vorhanden ist bzw. (minKey) welcher Wert kleiner ist, als der kleinste zu erwartende Schlüssel.

N bezeichnet immer die Obergrenze der betrachteten Elemente, max dient meist zur Kennzeichnung der Feldobergrenze.

Die cm_Tausch() Funktion, die von einigen der Sortieralgorithmen verwendet wird, um zwei Elemente eines Feldes mit einander zu vertauschen, findest du hier.

Alle Sortiermethoden setzen auf Feldstrukturen auf, da sie auf verkettete Listen nur schwer und mit z.T. beträchtlichem Aufwand anwendbar sind.

Bitte schau an, wie die einzeilnen Algorithmen in Programmen eingebaut werden können, indem du dir die entsprechenden Listings runterlädst. Dadurch wird oft einiges deutlich klarer.
 

Bitte schreibe mir an webmaster@christoph-mueller.de, falls es noch irgendwelche Unklarheiten gibt, so dass ich sie durch die Aufnahme in diese Liste (hoffentlich) beseitigen kann.


   Computer    Programmieren (incl. C++ Kurs)    Algorithmen    Bücher    

Zeitschriften    Heavy Metal    Mountainbiking    Meine Katze    

Über mich und die Site    Links    Downloads    Gästebuch    HP mit Umfrage