Tecnología

Inicio

Cómo crear una copia instantánea de una lista enlazada

Cómo crear una copia instantánea de una lista enlazada


Las listas enlazadas son estructuras de datos que se crean dinámicamente mientras que un ordenador está funcionando. Esto significa que la memoria no se asignó antes de que comenzara el programa, y ​​el programa crea la estructura, ya que se necesitaba. A menudo, usted tendrá que crear una copia de una lista enlazada con quien trabajar en un problema particular sin destruir el original. El siguiente procedimiento sólo debe ser intentado por aquellos con experiencia en estructuras de datos del ordenador.

Instrucciones

1 Solicitar un nuevo puntero para empezar a construir su copia instantánea. Los punteros son palabras de memoria que son lo suficientemente grande como para contener las direcciones de memoria. Hacer que el nuevo puntero del punto de entrada a su copia instantánea, sin importar la estructura de la lista enlazada que está copiando. Una vez que tenga el puntero de partida, que pasará a través de la lista enlazada hacer una copia instantánea de todo lo que se encontró.

2 Enlazar los nodos de su copia instantánea haciendo que los punteros en un nodo contienen la dirección del siguiente nodo de la lista. Poner los datos que va en la lista enlazada en los nodos. Por ejemplo, en una base de datos en el IRS, los nodos pueden contener registros de los ciudadanos, con un registro para cada ciudadano. Ponga una o varias agujas en cada registro, como las direcciones de otros registros. Ponga un puntero en cada registro si desea que las listas enlazadas que sean reales listas, colas, o algún otro tipo de estructura lineal. Poner más de un puntero en cada registro si usted está construyendo un árbol. Utilice el diseño de la lista enlazada que va a copiar para hacer su copia instantánea.

3 Solicitar una nueva dirección. El método para hacer esto depende del idioma que utilice. El sistema operativo de su computadora suministra nuevos fragmentos de memoria, junto con la dirección de la porción por lo que se puede hacer referencia. Su nueva dirección apunta a un registro en blanco. Copiar la información desde el primer registro de la lista enlazada de edad en el primer registro de la nueva lista enlazada que está haciendo (a excepción de puntero). Al llegar al puntero, solicitar un nuevo puntero y poner eso en la lista enlazada que está creando. Siga el puntero en la lista de edad. Siga el nuevo puntero a un nuevo registro en blanco y copiar la información de un registro a como antes. Siga haciendo esto hasta que la lista entera se copia.

Consejos y advertencias

  • Escribir el procedimiento lista de copia vinculado como una función. La entrada a la función es la dirección de la lista enlazada que desea copiar. La salida de la función será la dirección de la copia. Si se escribe la función recursiva, la función, principalmente, de las instrucciones para copiar datos de un registro a otro.
  • Si su lista enlazada es un árbol como la estructura, los registros pueden contener más de un puntero. Debe hacer una llamada recursiva para cada puntero. Esto asegurará que todo el árbol se copia.