November 15
tabelle di stringhe sono una struttura dati nei linguaggi di programmazione C e C ++. In questi linguaggi, stringhe sono sequenze di caratteri, e le sequenze possono essere di qualsiasi lunghezza. Costruire un tavolo dove tutte le voci sono diverse lunghezze potrebbe essere realizzato, consentendo spazio sufficiente per il più lungo termine possibile in ogni posizione al tavolo, ma questo sarebbe sprecare un sacco di spazio. tabelle di stringhe evitare di sprecare spazio semplicemente scrivendo tutte le stringhe in sequenza con il carattere speciale '\ 0' tra ogni stringa. Per fare riferimento a una stringa, avete solo bisogno di sapere dove inizia.
1 Scrivi il codice "char StringTable (1000);" per impostare una tabella di stringhe che contiene 1.000 caratteri. Quando si imposta la tabella di stringhe, sarà necessario anche impostare un "puntatore" che punta al successivo indirizzo disponibile nella tabella di stringhe. Per fare questo, scrivere il codice: "int P = 0;" e ogni volta che si mette una parola di frase nella tabella di stringhe, aggiungere la lunghezza della stringa di P, in modo da P si dice sempre dove aggiungere le parole successive.
2 Scrivi il codice: "int DisplacementTable (100);" per impostare uno spostamento che conterrà 100 numeri. Come si entra parole nella tabella di stringhe, entrerete un numero nella tabella di spostamento. Ad esempio, se il puntatore P è pari a 147 quando si aggiunge una parola al tabella di stringhe, inserire il numero 147 nella tabella di spostamento
3 Convertire qualsiasi lettera in una parola per la posizione di memoria che lo contiene con la ricerca attraverso la tabella di stringhe fino a trovare una corrispondenza, contando il numero di caratteri '\ 0'. Ad esempio, se si sta convertendo le lettere 'abc' a un numero che si scrivere il codice: "target = 'abc'; k = 0; for (i = 0; i LT 1000; i ++) {if StringTable (i) == obiettivo di rendimento DisplacementTable (k), se StringTable (i) == '\ 0' k ++; " Ciò ricerca in tabella stringa per le lettere bersaglio e restituire il numero che corrisponde all'indirizzo del bersaglio.