List
- Abhängigkeiten
- Ikarus
List ist ein Paket, dass dem Umgang mit Listen (zCList und zCListSort) erheblich vereinfacht.
Alle Funktionen gibt es mit einem zusätzlichen "S" am Ende für Objekte des Typs zCListSort. (Beispiel: List_NodeS.)Im Gegensatz zu den meisten Paketen von LeGo werden hier Pointer verwendet, keine Handles!
- Inhaltsverzeichnis
- 1List_Create
- 2List_Add
- 3List_AddFront
- 4List_AddOffset
- 5List_Set
- 6List_Get
- 7List_Node
- 8List_Length
- 9List_HasLength
- 10List_End
- 11List_Concat
- 12List_Contains
- 13List_For
- 14List_ForF
- 15List_Delete
- 16List_Destroy
- 17List_ToArray
List_Create
Erzeugt eine Liste mit einem initialen Wertint List_Create(int data)
- data : Der Wert des ersten Listenelements
- return : Zeiger(!) auf die erstellte Liste
List_Add
Hängt einen Wert an das Ende der Liste.void List_Add(int list, int data)
- list : Die verwendete Liste
- data : Wert, der angehängt wird
List_AddFront
Hängt einen Wert vor das erste Element der Listevoid List_AddFront(int list, int data)
- list : Die verwendete Liste
- data : Wert, der angehängt wird
List_AddOffset
Fügt einen Wert zwischen zwei Listenelementen ein.void List_AddOffset(int list, int offset, int data)
- list : Die verwendete Liste.
- offset : Nummer des Listenelements, hinter welches 'data' eingeügt wird
- data : Wert, der angehängt wird
List_Set
Setzt ein Listenelement auf einen bestimmten Wert.void List_Set(int node, int data)
- node : Pointer auf ein Listenelement
- data : Dieser Wert wird in das Listenelement geschrieben
List_Get
Holt den Wert eines Listenelementsint List_Get(int list, int nr)
- list : Die verwendete Liste.
- nr : Nummer des Listenelements
- return : Wert des Listenelements 'nr'
List_Node
Gibt einen Pointer auf ein Listenelement zurück.int List_Node(int list, int nr)
- list : Die verwendete Liste
- nr : Nummer eines Listenelements
- return : Pointer auf das Listenelement
List_Length
Gibt die Länge der Liste zurück (Anzahl aller Elemente)int List_Length(int list)
- list : Die verwendete Liste
- return : Anzahl der Elemente in dieser Liste
List_HasLength
Fragt ab ob die Liste die entsprechende Länge hat. (Wesentlich schneller als List_Length)int List_HasLength(int list, int length)
- list : Die verwendete Liste
- length : Die gesuchte Länge
- return : Wahrheitswert ob die Liste die Länge hat oder nicht
List_End
Gibt das letzte Listenelement der Liste zurück.int List_End(int list)
- list : Die verwendete Liste
- return : Pointer auf das letzte Listenelement
List_Concat
Hängt zwei Listen aneinander.void List_Concat(int list, int list2)
- list : Die erste Liste
- list2 : Die zweite Liste. Deren Anfang wird an das Ende der ersten Liste gehängt
List_Contains
Gibt das letzte Listenelement mit einem bestimmten Wert zurück.int List_Contains(int list, int data)
- list : Die verwendete Liste
- data : Nach diesem Wert wird gesucht
- return : Nummer des letzten Listenelements mit dem Wert 'data'
List_For
Ruft eine Funktion für jedes Listenelement auf, die Funktion bekommt einen Pointer auf das Listenelement als Parameter übergeben.void List_For(int list, string function)
- list : Die verwendete Liste.
- function : Die Funktion, die für jedes Listenelement aufgerufen wird (void handler(int node))
List_ForF
Wie List_For, aber mit einem Funktionsparameter anstatt einem Stringvoid ListForF(int list, func function)
- list : Die verwendete Liste
- function : Die Funktion die für jedes Listenelement aufgerufen wird (void handler(int node))
List_Delete
Löscht ein Listenelement. Alle folgenden Elemente rücken nach.void List_Delete(int list, int nr)
- list : Die verwendete Liste
- nr : Die Nummer des zu löschenden Listenelements
List_Destroy
Zerstört die komplette Liste.void List_Destroy(int list)
- list: Die verwendete Liste
List_ToArray
Gibt einen Pointer auf einen Speicherbereich zurück, in dem alle Werte der Liste stehen.int List_ToArray(int list)
- list : Die verwendete Liste
- return : Speicherbereich, der alle Werte der Liste enthält. (T*)