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 ; 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. 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 ; 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. 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; } + + ; } 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 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 ; - ; } } 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.
datos
2
3
tamaño
4
< p> libre (fin ) ;
tamaño