Documentos de Académico
Documentos de Profesional
Documentos de Cultura
(Eliminar)
Una lista ligada simple es
De esta forma
Nodo Apunta a NULL
Cabeza
Para eliminar un nodo existen 3 casos a considerar.
Caso 1: Eliminar el primero de la lista
Dado la lista
A p B p C
Hacer Q=P
P es el apuntador al primer nodo de la lista.
Q es una variable de tipo apuntador
>>>Verificamos que la lista no es NULL
A p B p C
P
Hacer Q=P
Si Q -> SIGUIENTE ! = NULL // Verifica si la lista tiene slo un nodo.
entonces Hacer P= Q-> SIGUIENTE //Redefine el puntero al
inicio
Si no
Hacer P = NULL
// imprimir mensaje lista vaca.
Fin //fin de la condicin
QUITA(Q)
A p B p C
P
Hacer Q=P
Si Q -> SIGUIENTE ! = NULL // Verifica si la lista tiene slo un nodo.
entonces Hacer P= Q-> SIGUIENTE //Redefine el puntero al
inicio
Si no
Hacer P = NULL
// imprimir mensaje lista vaca.
Fin //fin de la condicin
QUITA(Q)
Como la lista no fue NULL quitamos el nodo inicial
A p B p C
P
Hacer Q=P
Si Q -> SIGUIENTE ! = NULL // Verifica si la lista tiene slo un nodo.
entonces Hacer P= Q-> SIGUIENTE //Redefine el puntero al
inicio
Si no
Hacer P = NULL
// imprimir mensaje lista vaca.
Fin //fin de la condicin
QUITA(Q)
Como la lista no fue NULL quitamos el nodo inicial
A p B p C
P
Hacer Q=P
Si Q -> SIGUIENTE ! = NULL // Verifica si la lista tiene slo un nodo.
entonces Hacer P= Q-> SIGUIENTE //Redefine el puntero al
inicio
Si no
Hacer P = NULL
// imprimir mensaje lista vaca.
Fin //fin de la condicin
QUITA(Q)
Caso 2: Eliminar el ltimo elemento de la lista.
Dado la lista
A p B p C
A p B p C
P
1. Si P -> SIGUIENTE = NULL {Verifica si la lista tiene slo un elemento}
QUITA(P)
Hacer P = NULL
Si no
Hacer Q = P
1.1 Repetir mientras ( Q-> SIGUIENTE ! = NULL)
Hacer T=Q
Hacer Q = Q -> SIGUIENTE
1.2 Fin
Hacer T -> SIGUIENTE = NULL
QUITA(Q) // Q y T son variables de tipo apuntador
2.Fin //fin del condicional del paso 1
A p B p C
P
1. Si P -> SIGUIENTE = NULL {Verifica si la lista tiene slo un elemento}
QUITA(P)
Hacer P = NULL
Si no
Hacer Q = P
1.1 Repetir mientras ( Q-> SIGUIENTE ! = NULL)
Hacer T=Q
Hacer Q = Q -> SIGUIENTE
1.2 Fin
Hacer T -> SIGUIENTE = NULL
QUITA(Q) // Q y T son variables de tipo apuntador
2.Fin //fin del condicional del paso 1
A p B p C
P
1. Si P -> SIGUIENTE = NULL {Verifica si la lista tiene slo un elemento}
QUITA(P)
Hacer P = NULL
Si no
Hacer Q = P
1.1 Repetir mientras ( Q-> SIGUIENTE ! = NULL)
Hacer T=Q
Hacer Q = Q -> SIGUIENTE
1.2 Fin
Hacer T -> SIGUIENTE = NULL
QUITA(Q) // Q y T son variables de tipo apuntador
2.Fin //fin del condicional del paso 1
Caso 3: Eliminar un nodo con valor X de la lista