25 de febrero de 2010

Listas Enlazadas

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