Colección de citas famosas - Slogan de motivación - El lenguaje C crea una lista enlazada individualmente de nodos líderes

El lenguaje C crea una lista enlazada individualmente de nodos líderes

Hay dos formas de generar una lista enlazada individualmente: inserción de cabecera e inserción de cola.

1. Método de inserción del cabezal

/****************************** *******************************************

*?Nombre de la función: lista de enlaces? *CreateLinklistHead()

*? Función: Crear una lista enlazada utilizando el método de inserción de encabezado.

*?Parámetro: Ninguno

*?¿Regresión? ¿Atrás? Valor: el nodo principal de la lista vinculada después de crear la lista vinculada.

*?Nota: Ninguna

********************************* ***** *************************************/

externo ? ¿Lista enlazada? *CreateLinklistHead()

{

int? incógnita,? I,? nodeNum

¿Lista vinculada? *cabeza,? *temperatura;? ///?Nodo de encabezado y nodo temporal

¿Encabezado? =?(lista de enlaces?*)malloc(tamañode(lista de enlaces));? //Generar nodo de título

head->; ¿siguiente? =?NULL//?Asigne el valor al campo de puntero del nodo de título

Printf("Ingrese el número de nodos en la lista vinculada:");

scanf( "%d ", &nodeNum);

for(I = 1;?i& lt= nodeNum?i++)

{

Printf("Por favor, introduzca primero ?%d ?Datos del nodo: ",?I);

scanf("%d ",& ampx);

¿Trabajador temporal? =?(lista de enlaces?*)malloc(tamañode(lista de enlaces));? //Generar nuevo nodo

temp->;datos? =?x; ///?Asigna un valor al campo de datos del nuevo nodo.

//?Inserte un nuevo nodo después del nodo principal.

temp->;¿Siguiente? =?cabeza->;Siguiente;?

head->;¿Siguiente? =?Temperatura;

}

¿Regresar? cabeza;? ///?Devuelve el nodo principal de la nueva lista vinculada.

}2. Método de inserción de cola

/****************************** ******* *******************************************

*?Nombre de la función: lista de enlaces? *CreateLinklistRear()

*? Función: Crear una lista enlazada utilizando el método de inserción de cola.

*?Parámetro: Ninguno

*?¿Regresión? ¿Atrás? Valor: el nodo principal de la lista vinculada después de crear la lista vinculada.

*?Nota: Ninguna

********************************* *** *************************************/

¿externo? ¿Lista enlazada? *CreateLinklistRear()

{

int? incógnita,? I,? nodeNum

¿Lista vinculada? *cabeza,? *trasero,? *temperatura;? //? Defina el nodo principal, el nodo final y el nodo temporal.

¿Cabeza? =?(lista de enlaces?*)malloc(tamañode(lista de enlaces));? //Generar un nodo principal que no almacene datos.

head->;¿Siguiente? =?NULL? //?Asigne el campo de puntero del nodo principal a NULL.

¿Trasero? =?cabeza;? //?Asigne el nodo de encabezado al nodo de pie de página

Printf("Ingrese el número de nodos en la lista vinculada:");

scanf("%d ", & ampnodeNum) ;

for(I = 1;?i<= nodeNum?i++)

{

Printf("¿Ingrese primero? %d? Datos del nodo : ",?I);

scanf("%d ", & ampx);

¿Trabajadores temporales? =?(lista de enlaces?*)malloc(tamañode(lista de enlaces));? //Generar nuevo nodo

temp->;datos? =?x;//?Campo de datos del nuevo nodo

temp->;¿Siguiente? =?NULL? ///?El campo de puntero del nuevo nodo (debido a que es un método de inserción de cola, todos los nodos insertados están en la cola, es decir, el campo de puntero está vacío)

Atrás->¿Siguiente? =?Temperatura;? //Hacer que el nodo anterior apunte al nuevo nodo (head->next=temp)

¿Volver? =?Temperatura;? //?Asigne el nuevo nodo al nodo de cola (método de inserción de cola, el nodo insertado está en la cola) (trasero = cabeza-& gt; siguiente)

}

/ /trasero ->¿Siguiente? =?NULL? //? Especifique el campo del puntero del nodo de cola como vacío (para comprobar si la lista vinculada está vacía)

¿Regresar? cabeza;? //Regresar al nodo principal

}