Come convertire le lettere in numeri in una tabella di stringhe

November 15

Come convertire le lettere in numeri in una tabella di stringhe


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.

istruzione

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.

Consigli e avvertenze

  • Inserimento di nuove parole, l'eliminazione di vecchie parole e alfabetizzazione parole è facile se si lavora con i numeri nella tabella di spostamento anziché i dati effettivi. Ad esempio, è possibile alfabetizzare tabella di stringhe riorganizzando i numeri nella tabella di spostamento invece di spostare le parole intorno.
  • Se troppe parole sono cancellate da una tabella di stringhe, si può finire con una tabella che contiene i dati non utilizzati. Alcune grandi programmi hanno subroutine per "riorganizzare" le tabelle, eliminando questi dati obsoleti.