Una Lista requiere ciertos algoritmos comunes para su tratamiento.
Los siguientes ejemplos asumen este ambiente:
NODO: registro de
siguiente: puntero a NODO
dato: [tipo_de_contenido_almacenado]
FIN_REGISTRO
q: NODO
p, primero: puntero a NODO
objetivo: [tipo_de_contenido_almacenado]
Insertar al Inicio
Se debe crear un nodo nuevo que apunte al primer nodo de la lista y actualizar el puntero al primer nodo de la lista para que apunte al nodo nuevo.
Nuevo(q)
q^.siguiente := primero
q^.dato := [contenido]
primero := q
Insertar al Final
p := primero
MIENTRAS p <> nil HACER
p := p^.siguiente
FIN_MIENTRAS
p^.siguiente := q // q es el último nodo.
Insertar q Entre anterior y siguiente
q^.siguiente := siguiente
anterior^.siguiente := q
Iterar Sobre la Lista
p := primero
MIENTRAS p <> nil HACER
Escribir(p^.dato)
p := p^.siguiente
FIN_MIENTRAS
Borrar la Lista Entera
p := primero
MIENTRAS p <> nil HACER
a := p^.siguiente
Borrar(p)
p := a
FIN_MIENTRAS
Buscar un Elemento
p := primero
Leer(objetivo)
MIENTRAS p <> nil Y p^.dato <> objetivo HACER
p := p^.siguiente
FIN_MIENTRAS
SI p <> nil ENTONCES
Escribir("Encontrado!")
FIN_SI