Modelo por capas
La cola y su invariante
La lista guarda dos direcciones:
- cabeza: el primer nodo;
- cola: el último nodo.
Con la cola, agregar al final es: enlazar el nodo nuevo después de la cola y mover la cola al nodo nuevo. Sin recorrer.
En la figura, arriba la lista vacía y, debajo, una lista con cuatro valores.
El precio es un invariante más:
si la lista está vacía: cabeza = nada y cola = nadasi no: cola es el último nodo (cola.siguiente = nada)Toda operación que cambie el último nodo, o vacíe la lista, tiene que mantenerlo.