String -Tabellen sind eine Datenstruktur in der C-und C + + Programmiersprachen. In diesen Sprachen sind Strings Sequenzen von Zeichen , und die Sequenzen können beliebig lang sein . Aufbau einer Tabelle, in der alle Einträge sind verschiedene Längen könnte, indem genug Platz für die längste mögliche Wort in jeder Tabelle Position erreicht werden , aber dies würde viel Platz verschwenden. String Tabellen zu vermeiden Platzverschwendung durch einfaches Schreiben alle Fäden in der Folge mit dem Sonderzeichen '\\ 0' zwischen den einzelnen String. Um einen String zu verweisen, müssen Sie nur wissen, wo es beginnt. Anleitung
1
Schreiben Sie den Code "char StringTable (1000); ", um einen String -Tabelle, die 1.000 Zeichen hält . Beim Einrichten der String-Tabelle , werden Sie auch brauchen, um die Einrichtung eines " Zeiger " , dass auf die nächste verfügbare Adresse in der String-Tabelle verweist. Um dies zu tun , schreiben Sie den Code : " int P = 0; " und jedes Mal, wenn Sie ein Wort der Phrase in der String-Tabelle , fügen Sie die Länge der Zeichenfolge auf P, so P immer sagt Ihnen, wo die nächste hinzufügen Wörter
2
schreiben Sie den Code : " int DisplacementTable (100); ", um eine Verschiebung , die 100 Nummern halten wird . . Wie Sie Wörter eingeben in der String-Tabelle , werden Sie die Eingabe eines Zahlen in der Tabelle Verschiebung . Zum Beispiel, wenn der Zeiger P gleich 147 , wenn Sie ein Wort hinzufügen, um die String-Tabelle , legte die Zahl 147 in der Verschiebung Tabelle
3
Wandeln Sie alle Buchstaben in einem Wort, um die Speicherstelle , die es enthält , indem die Suche durch die String-Tabelle , bis Sie eine Übereinstimmung finden Zählen der Anzahl von '\\ 0' Zeichen . Zum Beispiel, wenn Sie konvertieren die Buchstaben " abc " zu einer Reihe würden Sie schreiben den Code : "target = 'abc' , k = 0; for (i = 0; i LT 1000; i + + ) {if StringTable (i ) == Zielrendite DisplacementTable (k); wenn StringTable (i ) == '\\ 0' k + +; . "Dies wird zu durchsuchen , um String-Tabelle für die Ziel- Buchstaben und geben die Anzahl der an die Adresse des Ziels entspricht