Liste
Le liste sono composte da Nodi.
Nodo
Il nodo è composto da due campi:
val: contiene il dato effettivonext: contiene un riferimento al prossimo elemento in lista (nilse è l’ultimo)

Primitive
new_list(): crea una nuova lista -is_empty_list(L): ritornatruese la lista è vuota -insert_head(L, e): inserisce un elementoein testa -insert_next(p, e): inserisce l’elementoedopo l’elementop-search(L, i): cerca l’elemento in posizionei-insert_pos(L, e, i): inserisce l’elementoein posizionei-delete(L, p): elimina l’elementopdalla lista -
search(L, i):
p := L
j := 0
while j < i AND p != nil do
j := j+1
p := p.next
return p
insert_pod(L, e, i):
q := search(L, i - 1)
if q != nil then
insert_next(q, e)
delete(L, p):
if p == L then
L := L.next
else
tmp := L
while tmp.next != p AND tmp != nil do
tmp := tmp.next
if tmp != nil then
tmp.next := p.next