Estructura de datos abstracta (EDA) compuesta por un conjunto de nodos, donde cada uno de ellos contiene al menos: Información específica [Info(p)] y una dirección del próximo nodo de la lista [Next(p)].
Generalmente la dirección del primer nodo es almacenada en una variable First.
Operaciones sobre listas enlazadas
NewNodo(p): Crea un nuevo nodo en memoria, la dirección donde fue creado queda almacenada en p.
FreeNodo(p): Borra el nodo de memoria que se encuentra en la dirección almacenada en la variable p.
Ejemplo
:En una lista enlazada se tienen los nombres de los estudiantes de análisis, la dirección del primer nodo está almacenada en la variable First, desarrolle un algoritmo que busque al estudiante DUVAN e inserte a la estudiante MARLENY inmediatamente después de DUVAN.
INICIO
p=First
encontrado = "No"
MQ (encontrado="No" ^ p<>NULL) Haga
SI info(p)="Duvan" ENTONCES
encontrado="Si"
SINO
q=p
p=Next(p)
FIN SI
FMQ
NewNodo(r)
infor(r)="Marleny"
SI encontrado="No" ENTONCES
SI First = NULL ENTONCES
First=r
SINO
Next(q) = r
FIN SI
SINO
SI p = First ENTONCES
Next(r) = Next(p)
Next(First) = r
SINO
Next(r) = Next(p)
Nexp(p) = r
FIN SI
FINSI
FIN
No hay comentarios:
Publicar un comentario