Duden/HashTabelle Kombinationen
Eintrag
Representiert einen Eintrag in einer HashTabelle.
dem öffentlichen Text Schlüssel mit Standardwert "
der öffentlichen Variable Wert mit Standardwert dem Standardwert von einer Variable
Aliase
ein Eintrag für <Schlüssel> mit Wert <Wert>
einem Eintrag für <Schlüssel> mit Wert <Wert>
einen Eintrag für <Schlüssel> mit Wert <Wert>
HashTabelle
Aliase
eine leere HashTabelle
eine neue HashTabelle
Duden/HashTabelle Funktionen
FNV_Hash
Gibt den FNV Hash für den Text t zurück.
- Parameter:
t
- Parameter Typ:
Text
- Rückgabe Typ:
Zahl
Aliase
der Hash von <t>
dem Hash von <t>
den Hash von <t>
Implementation
Implementiert in libddpstdlib.a
LeererEintrag
- Rückgabe Typ:
Eintrag
Aliase
ein leerer Eintrag
einem leerer Eintrag
Implementation
Der Eintrag e ist der Standardwert von einem Eintrag. Speichere 0 in art von e. Gib e zurück.
Tabelle_Zu_Text
- Parameter:
tabelle
- Parameter Typ:
HashTabelle
- Rückgabe Typ:
Text
Aliase
Keine Aliase definiert
Implementation
Der TextBauer b ist ein neuer TextBauer. Für jede Zahl i von 1 bis die Länge von einträge von tabelle, mache: [ Wenn (einträge von tabelle an der Stelle i) ein leerer Eintrag ist, dann: Füge "leer, " an b an. Fahre mit der Schleife fort. Wenn (einträge von tabelle an der Stelle i) ein Grabstein ist, dann: Füge "Grabstein, " an b an. Fahre mit der Schleife fort. ] Wenn (einträge von tabelle an der Stelle i) leer oder ein Grabstein ist, dann: Fahre mit der Schleife fort. Füge (Schlüssel von (einträge von tabelle an der Stelle i)) an b an. Füge ": " an b an. Die Variable v ist Wert von (einträge von tabelle an der Stelle i). Wenn v eine Zahl ist, füge (v als Zahl als Text) an b an. Wenn aber v ein Text ist, füge (v als Text) an b an. Wenn aber v eine Kommazahl ist, füge (v als Kommazahl als Text) an b an. Wenn aber v ein Wahrheitswert ist, füge (v als Wahrheitswert als Text) an b an. Wenn aber v ein Buchstabe ist, füge (v als Buchstabe) an b an. Sonst füge "<Unbekannt>" an b an. Wenn i ungleich die Länge von einträge von tabelle ist, füge ", " an b an. Gib b als Text zurück.
Tabellen_Wert_Setzen
- Parameter:
tabelle
,schlüssel
,wert
- Parameter Typ:
HashTabelle
,Text
,Variable
- Rückgabe Typ:
Wahrheitswert
Aliase
Setze den Wert von <schlüssel> in <tabelle> auf <wert>
setze den Wert von <schlüssel> in <tabelle> auf <wert>
das Speichern von <schlüssel> mit Wert <wert> in <tabelle> einen neuen Schlüssel hinzugefügt hat
Implementation
Wenn länge von tabelle plus 1 größer als die Kapazität von tabelle mal MAXIMALER_LADUNGS_FAKTOR ist oder die Kapazität von tabelle gleich 0 ist, dann: Die Zahl neue_kapazität ist (die Kapazität von tabelle mal 2), falls die Kapazität von tabelle ungleich 0 ist, ansonsten 16. Passe die Kapazität von tabelle auf neue_kapazität an. Die Zahl eintrag_index ist der Index für schlüssel in tabelle. Der Wahrheitswert ist_neuer_schlüssel ist wahr, wenn eintrag_index für einen neuen Schlüssel in tabelle steht. Wenn ist_neuer_schlüssel, dann: Erhöhe länge von tabelle um 1. Speichere einen Eintrag für schlüssel mit Wert wert in einträge von tabelle an der Stelle eintrag_index. Gib ist_neuer_schlüssel zurück.
Tabellen_Wert_Lesen
- Parameter:
tabelle
,schlüssel
- Parameter Typ:
HashTabelle
,Text
- Rückgabe Typ:
Variable
Aliase
Keine Aliase definiert
Implementation
Die Zahl eintrag_index ist der Index für schlüssel in tabelle. Wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, dann: Gib der Standardwert von einer Variable zurück. Gib Wert von (einträge von tabelle an der Stelle eintrag_index) zurück.
Tabelle_Hat_Schlüssel
- Parameter:
tabelle
,schlüssel
- Parameter Typ:
HashTabelle
,Text
- Rückgabe Typ:
Wahrheitswert
Aliase
<schlüssel> nicht in <tabelle> enthalten ist
<schlüssel> in <tabelle> enthalten ist
<tabelle> <schlüssel> nicht enthält
<tabelle> <schlüssel> enthält
Implementation
Die Zahl eintrag_index ist der Index für schlüssel in tabelle. Gib falsch, wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, zurück.
Tabellen_Wert_Löschen
- Parameter:
tabelle
,schlüssel
- Parameter Typ:
HashTabelle
,Text
- Rückgabe Typ:
Variable
Aliase
Lösche den Wert für <schlüssel> aus <tabelle>
der gelöschte Wert für <schlüssel> in <tabelle>
den gelöschten Wert für <schlüssel> in <tabelle>
Implementation
Die Zahl eintrag_index ist der Index für schlüssel in tabelle. Wenn (einträge von tabelle an der Stelle eintrag_index) leer oder ein Grabstein ist, dann: Gib der Standardwert von einer Variable zurück. Die Variable wert ist Wert von (einträge von tabelle an der Stelle eintrag_index). Speichere einen Grabstein in (einträge von tabelle an der Stelle eintrag_index). Gib wert zurück.
Tabellen_Einträge
- Parameter:
tabelle
- Parameter Typ:
HashTabelle
- Rückgabe Typ:
Eintrag Liste
Aliase
die Einträge von <tabelle>
alle Einträge von <tabelle>
Implementation
Wenn länge von tabelle gleich 0 ist, gib eine leere Eintrag Liste zurück. Die Eintrag Liste einträge ist die Kapazität von tabelle Mal ein leerer Eintrag. Die Zahl j ist 1. Für jede Zahl i von 1 bis die Länge von einträge von tabelle, mache: Wenn (einträge von tabelle an der Stelle i) nicht leer oder ein Grabstein ist, dann: Speichere (einträge von tabelle an der Stelle i) in (einträge an der Stelle j). Erhöhe j um 1. Gib einträge bis zum (j minus 1). Element zurück.