String tabeller er en datastruktur i C og C + + programmeringsspråk. I disse språkene, strengene er sekvenser av tegn , og sekvensene som 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 strenger i sekvens med spesialtegnet '\\ 0 ' mellom hver streng . Å referere til en streng , trenger du bare å vite hvor den starter. Instruksjoner
en
Skriv koden " røye STRINGTABLE (1000), " for å sette opp en streng tabell som inneholder 1000 tegn. Når du setter opp strengen bordet , vil du også trenger å sette opp en " peker " 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 setning i strengen bordet , legge til 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 , kan du legge inn et antall i forskyvning tabellen . For eksempel, hvis pekeren P er lik 147 når du legger til et ord i streng bordet , sette antallet 147 i forskyvning tabellen
3
Konverter en bokstav i alle ord i minneområde som inneholder det ved å søke gjennom streng tabellen til du finner en match, telle antall '\\ 0 ' tegn. For eksempel, hvis du konverterer bokstavene "ABC" til et nummer du vil skrive koden : "target = ' abc '; k = 0; for (i = 0 ; i LT 1000 , i + + ) {if STRINGTABLE (i ) == target retur DisplacementTable ( k ), hvis STRINGTABLE ( i) == '\\ 0 ' k + +; . "Den søker gjennom til streng tabell for målet bokstaver og returnere antall som tilsvarer adressen til målet