Está en la página 1de 4

Pseudocodigo de insertar nodos en la lista (inicio)

Para resolver este problema es necesario determinar si la lista contiene


elementos. Si la lista no está vacía se crea el nuevo nodo y se liga con el
primero nodo de la lista y head se mueve al nuevo nodo. Si la lista está vacía,
se crea el primer nodo de la lista ubicando a head en el nuevo nodo.

Nuevo (p)

Leer (p(dato))

p(liga) <- head

head <- p

head

X A B C

Pseudocodigo de insertar nodos en la lista (final)


Para resolver este problema es necesario determinar si la lista contiene
elementos. Si la lista no está vacía es necesario recorrer toda la lista para
ubicarse en el último nodo, crear el nuevo nodo y ligar el nuevo nodo con el
último nodo. Si la lista está vacía, se crea el primer nodo de la lista ubicando a
head en el nuevo nodo.

Nuevo (p)

Leer (p(dato))

p(liga) <- null

Si head <> null entonces

q <- head

Mientras q(liga) <> null

q <- q(liga)

q(liga)<- p

De lo contrario

head <- p

head

A B C X

q p

Pseudocodigo de insertar nodos en la lista (Entre nodos)


Para resolver este problema es necesario determinar si la lista contiene
elementos y si la posición en la que se desea insertar el nuevo es válida, es
decir si es menor o igual al total de los nodos de la lista. Se deben consideran
los casos siguientes:
Caso 1: Insertar el nuevo nodo al inicio de la lista
Caso 3: Insertar el nuevo nodo al final de la lista.
Estos casos los vimos y analizamos ya anteriormente así que nos queda el caso 3
Caso 3: Insertar el nuevo nodo en una posición intermedia dentro de la lista.

Leer (posición)
p <- head
c <- 0
Mientras p <> null
p <- p(liga)
c <- c + 1
Si (posición > 0) y (posición <= c+1) entonces
Nuevo (p)
Leer (p(dato))
Si pos = 1 entonces
p(liga) <- head
head <- p
De lo contrario
q <- head
para i = 1 hasta pos – 1
q <- q(liga)
p(liga) <- q(liga)
q(liga) <- p
De lo contrario
Mensaje (‘Posición incorrecta…’)

A B C
X

También podría gustarte