
PDF-Download (75 KB)
Korrekturen, Kommentare und Fragen bitte posten.
Gruß Josef
Klar hast recht Stargate. Das Einfügen und Löschen von Elementen an jeder beliebigen Stelle ist natürlich sehr wichtig, nur da hat meine Schreib-Tutorial-Laune irgendwie aufgehörttut hat geschrieben:Durch die Funktionen die wir uns vorher definiert haben, besitzen wir schon genug Kenntnisse, um Befehle für das Löschen einer gesamten Liste zu programmieren. Genauso können wir uns auch Befehle programmieren, die Elemente an jede beliebige Stelle hinzufügen. Auch das gezielte Löschen von einzelnen Elementen ist leicht zu realisieren, wenn man sich die Verwaltung der Verweise genauer überdenkt. Und wenn man noch viel mehr machen möchte, so kann man sich z.B. eine Sortierfunktion definieren, die nach dem „Bubblesort“-Algorithmus arbeiten.
Auch wenn es sehr vom Vorteil ist, selbst eine solche Befehlssammlung zu erweitern, stelle ich auch meine Sammlung zu dynamisch verketteten Listen zur Verfügung:
http://sourceforge.net/projects/pb-stl/
Die Quelldatei trägt den Namen „Queue.pbi“.
Code: Alles auswählen
Procedure.i NewInteger(Number.i)
Protected *Memory.Integer
*Memory = AllocateMemory(SizeOf(Integer))
*Memory\I = Number
ProcedureReturn *Memory
EndProcedure
Code: Alles auswählen
Procedure.i NewInteger(Number.i)
Protected *Memory.Integer
*Memory = AllocateMemory(SizeOf(Integer))
If *Memory
*Memory\I = Number
EndIf
ProcedureReturn *Memory
EndProcedure
Laut Murphys Gesetz immer dann, wenn Du Sicher bist, es kann nicht fehlschlagenSTARGÅTE hat geschrieben:wann tritt der fall schon ein das AllocateMemory fehlschlegt!
Wieso nicht gleich für Graphen allgemein, wenn es dir eh nur um sowas geht?STARGÅTE hat geschrieben:Was vielleicht ein schritt tiefer ginge wäre n TUT für Bäume ... die kann man ja dann auch nur als Liste missbrauchen oder wirklich als Baum ... in dem man sich bewegen kann, Äste raushemen kann und in andere Baume einfügen kann ...