Lists - Listen
Eine Liste speichert eine Sammlung von Werten in einer bestimmten
Ordnung. Du kannst Werte am Ende anfügen oder
irgendwo in der Mitte der Liste einfügen. Du kannst die Werte
über einen Index adressieren.
Zudem kannst du die Elemente sowohl in absteigender, als auch in
aufsteigender Reihenfolge ordnen.
Listen können in vielerlei Weise verwendet werden, beispielsweise
um eine Gruppe veränderlicher Werte zu speichern.
Sie werden durch einfache arrays (Felder) implementiert aber weil dies
mit compiliertem Programmcode erfolgt, sind
sie um einiges schneller als wenn du selber ein array verwendest.
Die folgenden Funktionen stehen zur Verfügung:
ds_list_create() Erstellt eine neue
Liste. Die Funktion gibt eine ganze zahl als id wieder, welche fortan
verwendet werden muss, um auf diese Liste zugreifen zu können.
ds_list_destroy(id) Vernichtet die Liste mit der
angegebenen id und gibt den belegten Speicher wieder frei. Vergiss
nicht diese Funktion aufzurufen, wenn du die Struktur nicht mehr
benötigst.
ds_list_clear(id) Löscht die Liste mit der
angegebenen id - alle Daten werden entfernt aber die Liste nicht
vernichtet.
ds_list_size(id) Gibt die Anzahl der in der Liste
gespeicherten Werte wieder.
ds_list_empty(id) Gibt an, ob die Liste leer ist. Das
ist dasgleiche, wie prüfen auf Größe 0.
ds_list_add(id,val) Fügt einen Wert ans Ende der
Liste an.
ds_list_insert(id,pos,val) Fügt einen Wert an
der Position "pos" der Liste ein. Die erste Position ist Position 0,
die letzte "size-1".
ds_list_replace(id,pos,val) Ersetzt den Wert an
Position "pos" in der Liste durch den neuen Wert (val).
ds_list_delete(id,pos) Entfernt den Wert an Position
"pos" aus der Liste. (Position 0 ist das erste Element.)
ds_list_find_index(id,val) Finde die Position, die
den angegebenen Wert beinhaltet. Falls der Wert nicht vorhanden ist,
> wird -1 zurückgegeben.
ds_list_find_value(id,pos) Gibt an, ob der Wert an
der angegebenen Position in der Liste gespeichert ist.
ds_list_sort(id,ascend) Sortiert die Werte in der
Liste. Wenn "ascend" "true" ist, in aufsteigender Reihenfolge,
> ansonsten in absteigender.