viernes, 15 de noviembre de 2013

Cómo convertir letras a los números en una tabla de cadenas

Tablas de cadenas almacenar palabras y texto en las computadoras. 

CONVERTIR LAS LETRAS

Tablas de cadenas son una estructura de datos en el C y C + + lenguaje de programación. En estos idiomas, las cadenas son secuencias de caracteres, y las secuencias pueden ser de cualquier longitud. La construcción de una mesa en la que todas las entradas son diferentes longitudes podría lograrse dejando suficiente espacio para la palabra más larga posible en cada posición de la tabla, pero esto sería perder un montón de espacio. Tablas de cadenas evitar el desperdicio de espacio simplemente escribiendo todas las cadenas en secuencia con el carácter especial '\ 0' entre cada cuerda. Para hacer referencia a una cadena, sólo tiene que saber dónde empieza.



Escriba el código de caracteres StringTable (1000), para establecer una cadena de tabla que contiene 1000 caracteres. Cuando se configura la cadena de la tabla, también necesitará crear un puntero que apunta a la siguiente dirección disponible en la tabla de cadenas. Para ello, escribe el código: int p = 0, y cada vez que se ponga una palabra de una frase en la tabla de cadenas, añadir la longitud de la cadena de P, por lo que P siempre te dice dónde agregar las siguientes palabras.



Escribe el código: int DisplacementTable (100), para establecer un desplazamiento que contendrá 100 números. A medida que introduce las palabras en la tabla de cadenas, que va a ingresar un número en la tabla de desplazamiento. Por ejemplo, si el puntero P es igual a 147 cuando se agrega una palabra de la tabla de cadenas, poner el número 147 en la tabla de desplazamiento



Convertir cualquier letra en cualquier palabra para la ubicación de la memoria que lo contiene mediante la búsqueda a través de la tabla de cadenas hasta que encuentre una coincidencia, contando el número de '\ 0' caracteres. Por ejemplo, si va a convertir las letras "abc" a un número que se escribiría el código: target = 'abc', k = 0; for (i = 0; i LT 1000, i + +) {if StringTable (i) = = DisplacementTable objetivo de rentabilidad (k), si StringTable (i) == '\ 0' k + +, lo que buscará a través de la tabla de cadenas para los destinatarios cartas y devolver el número que corresponde a la dirección del objetivo.



Consejos y advertencias

Inserción de nuevas palabras, eliminar las viejas palabras y ordenar alfabéticamente las palabras es fácil si usted trabaja con los números en la tabla de desplazamiento en lugar de los datos reales. Por ejemplo, puede ordenar alfabéticamente la tabla de cadenas por la reordenación de los números en la tabla de desplazamiento en lugar de moverse en torno a las palabras.



Si demasiadas palabras se borran de una tabla de cadenas, puede terminar con una tabla que contiene los datos no utilizados. Algunos programas tienen grandes subrutinas para reorganizar las tablas mediante la eliminación de estos datos obsoletos.



 

No hay comentarios:

Publicar un comentario