ArrayStack - Daten Speichern/Abrufen als FiFo oder LiFo

    • Offizieller Beitrag

    Arrays sind super Datenspeicher und ich nutze sie häufig als Datenstapel und arbeite die Daten in der Regel nach dem FirstIn-FirstOut Prinzip ab. Dadurch, dass während des Abarbeitens aber weitere Elemente hinzukommen können, ist z.B. _ArrayPop nicht verwendbar.

    Um nicht jedes mal das Befüllen/Auslesen(Löschen) auf/vom Stapel neu zu skripten, habe ich für 1D- und 2D-Array diese UDF erstellt:

    Code: ArrayStack.au3
    _ArrayStack_Create
    Erstellt ein Stack-Array (1D/2D) mit Element Zähler an [0]/[0][0] und Typ (FIFO/LIFO) an [1]/[0][1] 
    _ArrayStack_Add
    Fügt Daten an das Ende des Stack hinzu. Für 1D-Array können 1-10 Einzelwerte oder 1 Array mit Werten geschrieben werden. Für 2D-Array können 1-10 'Spalten' oder ein Array mit allen 'Spalten' geschrieben werden.
    _ArrayStack_Get
    Gibt das erste (FIFO) oder letzte (LIFO) Element des Stapels zurück und löscht es vom Stapel. Einzelwert bei 1D-Array, 1D-Array mit Spaltenwerten bei 2D-Array.
    _ArrayStack_Type
    Der Typ des Stapels kann während der Nutzung geändert werden.
  • Eventuell ist für manche die Begrifflichkeit etwas missverständlich da normalerweise "Stack" = LIFO und "Queue" = FIFO verbreitetet ist.

    Vielleicht kannst du das noch irgendwie besser verdeutlichen dann finden die Leute die UDF eventuell eher.

    • Offizieller Beitrag

    Eventuell ist für manche die Begrifflichkeit etwas missverständlich da normalerweise "Stack" = LIFO und "Queue" = FIFO verbreitetet ist.

    Vielleicht kannst du das noch irgendwie besser verdeutlichen dann finden die Leute die UDF eventuell eher.

    Danke für den Hinweis. Habe das mal im Titel und den Tags ergänzt.