Slik konverterer Brev til tall i en String Table

Slik konverterer Brev til tall i en String Table


String tabeller er en datastruktur i C og C ++ programmeringsspråk. I disse språkene, strenger er sekvenser av tegn, og sekvensene kan være av hvilken som helst lengde. Bygge en tabell der alle oppføringene er forskjellige lengder kan oppnås ved å tillate nok plass for lengst mulig ord i hver tabell posisjon, men dette ville kaste bort mye plass. String tabeller unngå å sløse med plass ved å skrive alle strengene i sekvens med spesialtegnet '\ 0' mellom hver streng. For å referere til en streng, trenger du bare å vite hvor den starter.

Bruksanvisning

1 Skriv koden "char STRING (1000);" å sette opp en streng tabell som inneholder 1000 tegn. Når du setter opp strengen tabellen, vil du også trenger å sette opp en "pointer" som peker til den neste tilgjengelige adresse i strengen tabellen. For å gjøre dette, skrive koden: "int P = 0;" og hver gang du setter et ord av setningen i strengen tabellen, legger lengden av strengen til P, så P alltid forteller deg hvor du skal legge neste ord.

2 Skriv inn koden: "int DisplacementTable (100);" å sette opp en forskyvning som vil holde 100 numre. Når du skriver inn ordene i strengen tabellen, vil du være på vei inn et tall i fortrengning bordet. For eksempel, hvis pekeren P er lik 147 når du legger til et ord i strengen tabellen, sette nummer 147 i fortrengning bordet

3 Konverter en bokstav i et ord til minneområde som inneholder det ved å søke gjennom strengen tabellen til du finner en match, telle antall '\ 0' tegn. For eksempel, hvis du konverterer bokstavene "abc" til et nummer du vil skrive inn koden: "target = 'abc'; k = 0; for (i = 0; i LT 1000; i ++) {if STRING (i) == målavkastning DisplacementTable (k), hvis STRING (i) == '\ 0' k ++; " Dette vil søke gjennom streng tabell for de aktuelle bokstavene og returnere antall som tilsvarer adressen til målet.

Hint

  • Sette inn nye ord, slette gamle ord og alphabetizing ord er lett hvis du arbeider med tallene i forskyvning tabellen i stedet for de faktiske data. For eksempel kan du alfabet strengen tabellen ved å omorganisere tallene i forskyvning tabellen i stedet for å flytte ordene rundt.
  • Hvis for mange ord blir slettet fra en streng tabell, kan du ende opp med en tabell som inneholder ubrukte data. Noen store programmer har subrutiner å "omorganisere" tabeller ved å fjerne denne foreldede data.