El lenguaje C crea una lista enlazada individualmente de nodos líderes
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
}