mesas de corda são uma estrutura de dados nos + + linguagens de programação C e C . Nesses idiomas , strings são seqüências de caracteres , e as seqüências podem ser de qualquer comprimento. A construção de uma tabela onde todas as entradas são diferentes comprimentos poderia ser realizado , permitindo espaço suficiente para a palavra mais longa possível em cada posição da tabela , mas isso seria um desperdício de espaço. Tabelas de corda evitar o desperdício de espaço , basta escrever todas as cordas em seqüência com o caractere especial '\\ 0' entre cada string. Para fazer referência a uma string, você só precisa saber onde começa . Instruções
1
Escreva o código " StringTable char ( 1000), " a criação de uma tabela de cadeia que mantém 1.000 caracteres . Quando você configurar a tabela string, você também vai precisar para criar um " ponteiro " que aponta para o próximo endereço disponível na tabela de cadeia . Para fazer isso, escrever o código : "int P = 0 ", e cada vez que você colocar uma palavra de frase na tabela de corda, adicionar o comprimento da corda para P , então P sempre lhe diz onde adicionar a próxima palavras
2
escrever o código :. "int DisplacementTable (100) ; " a criação de um deslocamento que irá realizar 100 números . À medida que você digita as palavras na tabela de cadeia , você vai estar entrando em um número na tabela de deslocamento . Por exemplo, se o ponteiro P é igual a 147 quando você adicionar uma palavra a tabela de cadeia , coloque o número 147 na tabela de deslocamento
3
Converta qualquer carta em qualquer palavra para o posição de memória que o contém , pesquisando através da tabela de cadeia até encontrar uma correspondência, contando o número de '\\ 0' caracteres. Por exemplo, se você está convertendo ' abc' as cartas a um número que você escrever o código : "target = 'abc' ; k = 0; for ( i = 0; i LT 1000; i + + ) {if StringTable (i ) == retorno alvo DisplacementTable ( k ), se StringTable (i ) == '\\ 0' k + +; "Isso vai pesquisar a tabela de cadeia para as letras alvo e retornar o número que corresponde ao endereço do alvo < . br>