Preguntas de programación de estructura de datos (C): escriba un programa para eliminar un número entero en una cola de enteros
void Delete(NODE**head, char*name)//Debido a que es posible que sea necesario cambiar el encabezado, el puntero pasado es un parámetro formal
{
NODE *p, *a;
a=p=*head;
if(NULL==p)return // Determina si el encabezado está vacío, si es así , Salga directamente de la función, continúe si no está vacía
if(0==strcmp((p-gt; data).name, name))// Determine si el nombre al que apunta el encabezado el nodo es el mismo que el nombre, sí. Si elimina el nodo principal, el nodo principal se convierte en su siguiente nodo
{
*head=p-gt; eliminar p; /p>
} else
{
while((p-gt;next!=NULL)amp;amp;(strcmp((p-gt;data). nombre, nombre))) // Si no es el nodo de cola, o el nombre del miembro al que apunta el nodo actual no es el mismo que el nombre del miembro pasado, entonces directamente deje que P se convierta en su siguiente nodo
{
a=p; p=p-gt; siguiente;
}
if(0==strcmp((p-gt;datos ).nombre,nombre))/ /Si el nombre del miembro señalado es el mismo que el parámetro formal pasado, deje que P apunte a su siguiente nodo y libere la memoria (es decir, el nodo se elimina y la conexión del enlace la lista debe mantenerse después de la eliminación)
{
a-gt; next!=p-gt; eliminar
}
}
}