| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo crear una lista doblemente enlazada en C Programación
    Los programadores usan listas enlazadas como estructuras de datos desplazables linealmente . Esto significa que el programador puede empezar desde el principio de la lista (llamado cabeza ) y avanzar por la lista de un elemento a la vez. Este método de almacenamiento de datos también permite al programador para agregar de manera eficiente datos a la lista , que ofrece una alternativa más versátil para ciertas otras estructuras de datos tales como matrices dinámicas . Este ejemplo muestra cómo construir una lista doblemente enlazada simple, que permite la navegación de la lista en dos direcciones ( hacia adelante y atrás) . Cosas que necesitará
    Editor de Texto Fotos, C /C + + Compiler o IDE (como Microsoft Visual Studio)
    Mostrar más instrucciones
    1

    Crear la estructura de nodo que servirá como el tipo de datos de la lista enlazada . En el editor de texto, escriba el código siguiente : # include


    int main {

    NodoLista struct { int
    datos

    ;

    puntal NodoLista * prev ;

    puntal NodoLista * siguiente ;

    } ;

    return 0; }


    el bloque " struct NodoLista " de código crea una plantilla para los elementos que llenarán la lista. Esta plantilla define un NodoLista que contiene tres elementos: un elemento de datos ( un entero) y enlaces a los temas anterior y siguiente en la lista. Un puntero es una variable que contiene una dirección de memoria . Los punteros se utilizan para referirse a otras estructuras de datos en memoria profunda y asignar memoria dinámicamente durante la ejecución del código.
    2

    Declare las variables que organizar la estructura de la lista . Inserte este código de ejemplo en el archivo de texto :

    int size ;

    NodoLista * cabeza ;

    NodoLista * cola;

    cola = cabeza ; < br >

    cabeza = cola;

    Estos dos indicadores son el principio y el final de la lista, respectivamente. El uso de estos punteros , el programador sabe dónde está el principio de la lista y donde el fin es , simplemente comprobando si el nodo actual es la "cabeza " o puntero "cola " . Ambos se refieren de nuevo a la otra en caso de una lista vacía.
    3

    Crear un algoritmo simple de agregar los elementos de la lista enlazada . Siga este código de ejemplo :

    void append ( int num) {

    struct NodoLista * trazador = cabeza ;

    struct NodoLista * newNode = (struct NodoLista *) malloc ( sizeof (struct NodoLista ));

    newNode -> data = num;

    if ( cabeza == NULL ) {

    cabeza = newNode ;

    tail = newNode ;

    newNode -> prev = cabeza ;

    newNode - > siguiente = cola;

    }

    else {

    while ( trazador - > siguiente = cola! )

    = { trazador trazador - > siguiente ;}

    newNode -> prev = trazador ;

    newNode - > siguiente = cola;

    trazador - > siguiente = nodo;

    cola = nodo;

    }
    tamaño

    + + ;

    }

    Este código agrega un nodo al final de la lista . Se comienza creando un puntero a la cabeza de la lista ( " marcador ") . A continuación , se crea un puntero a un bloque de asignación dinámica de memoria reservada para un NodoLista recién creado ( newNode ) y los conjuntos de datos de ese nodo al número entero " número " . Si los puntos de la cabeza a NULL ( es decir, la lista está vacía , debido a que los puntos de la cabeza a la nada ), entonces , el código inserta el nodo al principio de la lista. De lo contrario, los " mientras que" los ciclos de bucle a través de los nodos de la lista hasta llegar a la última estación . Cuando " trazadoras " apunta al último elemento de la lista, el código inserta el nodo. El último comando agrega al entero "tamaño" , el seguimiento de los elementos de la lista
    4

    Crear un algoritmo para eliminar y el tema del final de la lista : .

    void removeNode () {

    if ( tail = cabeza ) {

    struct NodoLista * end = cola;

    tail = cola -> prev ;
    < p> libre (fin ) ;
    tamaño

    - ;

    }

    }

    Este código crea un puntero ( "end" ) hasta el último elemento de la lista ( los mismos elementos de los puntos " a la cola " ) . A continuación , la cola se ajusta para apuntar a el elemento inmediatamente antes de que el último elemento ( el nodo al que apunta el puntero "anterior " del último elemento ) . Por último , la memoria utilizada por el último nodo , denominado por "fin" , se libera para su uso posterior.

    Previous :

    next :
      Artículos relacionados
    ·Cómo hacer una cadena en una matriz de caracteres en C…
    ·Cómo hacer un Web Mashup 
    ·Cómo construir una cola de salida de una lista 
    ·Cómo escribir una secuencia de entrada en una corrient…
    ·Cómo eliminar a + + Montón C Corrupt 
    ·Cómo utilizar la función strtok en C + + 
    ·Cómo organizar una lista de Uso Las estructuras en C +…
    ·C + + de Fibonacci Número Función 
    ·¿Cuál es la diferencia entre un control de entrada an…
    ·Cómo agregar dos números enteros grandes en C + + 
      Artículos destacados
    ·Cómo abrir archivos Port de papel 
    ·Cómo extraer el primer dígito en Python 
    ·Cómo convertir COBOL a Visual Basic 
    ·Cómo vincular archivos OBJ en Turbo C + + 
    ·Cómo utilizar VBA para proteger objetos de dibujo 
    ·Cómo encontrar la última fecha de modificación de un…
    ·Cómo obtener Folder Size en VB6 
    ·Cómo girar una cifra de JavaScript 
    ·Tamaño de cadena en Visual Basic 6 
    ·Cómo utilizar el control DTPicker en Visual Basic 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com