Startseite › Datentypen › H-Lib-Container Hilfe zum PBXB64-Compiler

Native H-Lib-Container - Hilfe zum PBXB64-Compiler

PBXB64 enthält eine native Containerbibliothek. PB-Containervariablen werden automatisch initialisiert und beim Verlassen ihres Gültigkeitsbereichs automatisch finalisiert.

Kategorie: H-Lib-Container | Zertifizierung: [ZERTIFIZIERT GETESTET]

Beschreibung

PBXB64 enthält eine native Containerbibliothek. PB-Containervariablen werden automatisch initialisiert und beim Verlassen ihres Gültigkeitsbereichs automatisch finalisiert.

Typ: Sprachfunktion | Kategorie: Native H-Lib-Container

PBXB64-Status: VERFÜGBAR – 23 FAMILIEN · 136 TYPSCHLÜSSELWÖRTER

PBXB64-Zertifizierung: [ZERTIFIZIERT GETESTET]

Drei Möglichkeiten, sie zu verwenden:
· PB-Syntax: q.Push 5, n = q.Count (Methodenversand)
· PB-Index: a[1] = 100, n = h["key"] (Indexzugriff)
· C-Frontend: c_hlib_lnarr_add(q, 5) über pbxb64/hlib.h

Unterstützte Containerfamilien (alphabetisch, insgesamt 23)

FamiliePB-TypBeschreibungHilfeseite
2D-ArrayLN2D (+ 12 Varianten)Zweidimensionales dynamisches Array mit Zeilen, Spalten und rechteckigen Operationen.2D-Methoden
ArrayLNARR (+ 12 Varianten)Dynamisches Array mit Push, Pop, Einfügen, Löschen, Sortieren, indiziertem Zugriff und UDT-Nutzlast.Arr-Methoden
Bloom-FilterLNBLOOMProbabilistischer LONG-Mitgliedschaftstest ohne falsch-negative Ergebnisse und einstellbarer Falsch-Positiv-Rate.cmd_hlib_bloom
B+-BaumLNBPTREEGeordnete Menge mit hohem Verzweigungsgrad, Bereichsabfragen und sortierter Ausgabe.cmd_hlib_bptree
DequeLNDEQUEDoppelendige Warteschlange mit Push- und Pop-Operationen an beiden Enden.cmd_hlib_deque
Double TreeWSWSDTREGeordneter Schlüssel-Wert-Baum von WSTRING nach WSTRING.DTre-Methoden
GraphLNGRAPHUngerichteter Graph mit LONG-Knoten-IDs, Adjazenzabfragen und Nachbarlisten.cmd_hlib_graph
HashtabelleLNLNHSH und weitere VariantenSchlüssel-Wert-Speicher mit Einfügen, Suchen, Entfernen und Aufzählen.Hsh-Methoden
HeapLNHEAPBinärer Min-Heap und Prioritätswarteschlange.cmd_hlib_heap
Verkettete ListeLNLST (+ 12 Varianten)Doppelt verkettete Liste mit Knotendurchlauf sowie Einfügen und Entfernen an Knoten.Lst-Methoden
LRU-CacheLNLRUBegrenzter Cache mit LONG-Schlüsseln und -Werten; verdrängt den am längsten nicht verwendeten Eintrag.cmd_hlib_lru
MultisetLNMULTISETMultimenge aus LONG-Werten mit Anzahl je Wert.cmd_hlib_multiset
QuadtreeLNQUADRäumlicher Index für LONG-Begrenzungsrahmen. Effiziente 2D-Bereichs- und Punktabfragen.cmd_hlib_quadtree
WarteschlangeLNQUE (+ 12 Varianten)FIFO-Warteschlange mit Push-, Pop-, Peek-, Front- und Back-Operationen.Que-Methoden
RingpufferLNRINGRingpuffer mit fester Kapazität. Bei vollem Puffer überschreibt Push den ältesten Wert.cmd_hlib_ring
Thread-sicherer StackLNSAFEMutex-geschützter LONG-Stack.cmd_hlib_safe
SetLNSETSortierte Menge eindeutiger LONG-Werte.cmd_hlib_set
SkipListLNSKIPLISTProbabilistische geordnete Menge mit durchschnittlich logarithmischen Operationen.cmd_hlib_skiplist
StapelLNSTK (+ 12 Varianten)LIFO-Stack mit Push-, Pop- und Peek-Operationen.Stk-Methoden
String BuilderSSSTR, WSSTRVeränderbarer String-Builder mit Anhängen, Einfügen, Löschen, Ersetzen und Zeichenzugriff.Str-Methoden
BaumLNLNTRE und weitere VariantenSelbstausgleichender AVL-Baum mit geordneten Schlüssel-Wert-Paaren sowie Min/Max/Floor/Ceil.Tre-Methoden
TrieSSSSTRIPräfixbaum von STRING nach STRING mit Präfixsuche und Autovervollständigung.Tri-Methoden
Union-FindLNUNIONFINDDisjunkte Mengen-/Union-Find-Struktur. Nahezu zeitkonstante Vereinigung und Suche.cmd_hlib_unionfind

Typvarianten (13 pro Familie, sofern zutreffend)

Die typisierten Familien verwenden die folgenden 13 Elementtypen. Insgesamt erkennt H-Lib 136 Typschlüsselwörter. EXTENDED und CURRENCYX sind undurchsichtige hochpräzise Werte und keine gewöhnlichen DOUBLE-Werte.

SuffixPB-TypGrößeSuffixPB-TypGröße
BtBYTE1 ByteSnSINGLE4 Byte
InINTEGER2 ByteDbDOUBLE8 Byte
WdWORD2 ByteCuCURRENCY8 Byte
DwDWORD4 ByteCxCURRENCYX16 Byte
LnLONG4 ByteExEXTENDED10 Byte
QdQUAD8 ByteSSSTRING (ANSI)Zeigergroß
WsWSTRING (Unicode)Zeigergroß

Vollständige Variantenlisten

Arr: BTARR, INARR, WDARR, LNARR, DWARR, QDARR, SNARR, DBARR, CUARR, CXARR, EXARR, SSARR, WSARR, OJARR.

Stk: BTSTK, INSTK, WDSTK, LNSTK, DWSTK, QDSTK, SNSTK, DBSTK, CUSTK, CXSTK, EXSTK, SSSTK, WSSTK.

Que: BTQUE, INQUE, WDQUE, LNQUE, DWQUE, QDQUE, SNQUE, DBQUE, CUQUE, CXQUE, EXQUE, SSQUE, WSQUE.

Lst: BTLST, INLST, WDLST, LNLST, DWLST, QDLST, SNLST, DBLST, CULST, CXLST, EXLST, SSLST, WSLST, UTLST.

Str: SSSTR, WSSTR.

2D: BT2D, IN2D, WD2D, LN2D, DW2D, QD2D, SN2D, DB2D, CU2D, CX2D, EX2D, SS2D, WS2D.

Hsh: LNLNHSH, LNCUHSH, LNCXHSH, LNDBHSH, LNDWHSH, LNEXHSH, LNQDHSH, LNSSHSH, LNWSHSH, SSCUHSH, SSCXHSH, SSDBHSH, SSDWHSH, SSEXHSH, SSLNHSH, SSQDHSH, SSSSHSH, WSCUHSH, WSCXHSH, WSDBHSH, WSDWHSH, WSEXHSH, WSLNHSH, WSQDHSH, WSWSHSH, LNUTHSH.

Tre: LNLNTRE, LNCUTRE, LNCXTRE, LNDBTRE, LNDWTRE, LNEXTRE, LNQDTRE, LNSSTRE, LNWSTRE, SSCUTRE, SSCXTRE, SSDBTRE, SSDWTRE, SSEXTRE, SSLNTRE, SSQDTRE, SSSSTRE, WSCUTRE, WSCXTRE, WSDBTRE, WSDWTRE, WSEXTRE, WSLNTRE, WSQDTRE, WSWSTRE, LNUTTRE.

Spezialisiert: WSWSDTRE, SSSSTRI, LNHEAP, LNDEQUE, LNSET, LNGRAPH, LNMULTISET, LNUNIONFIND, LNLRU, LNRING, LNSKIPLIST, LNBPTREE, LNQUAD, LNBLOOM, LNSAFE.

Gemeinsame Konventionen

UDT-Nutzlastcontainer

Der Containerelementtyp kann ein benutzerdefinierter PB sein TYPE:

TYPE Point
    x AS LONG
    y AS LONG
END TYPE
LOCAL a AS LNARR OF Point
LOCAL p AS Point
LOCAL q AS Point

a.New
p.x = 10 : p.y = 20
a.Push p
q = a.Get(1)              ' q is a Point; PB-Indizes sind 1-basiert

PBXB64-Prüfung

Diese Referenzseite soll durch ein fokussiertes Compile- oder Laufzeitbeispiel belegt sein. Das Beispiel soll Eingaben, erwartete Ausgabe oder Exit-Code und erforderliche Windows-Ressourcen oder Include-Dateien nennen.

Übersichtshinweise

Allgemeine Übersichtsseiten sollten trotzdem sagen, welche Familie gemeint ist, welche konkreten Befehlsseiten die Implementierung tragen und welche Formen nur der Navigation dienen. So bleibt die Seite detailliert genug, ohne so zu tun, als wäre sie eine vollständige Befehlsreferenz.

Zurück zum Befehlsindex

Siehe auch