8. Pilas Implementadas en listas public class CPilaL extends CListaSimple{ public CPilaL(){super();} public void Push( Cnodo nuevo ){ InsertaPrimero(nuevo);} public Cnodo Pop(){ Cnodo nodo; nodo = EliminarPrimero(); return nodo;} public int Peek(){ Cnodo nodo; int dato; nodo = getCabeza(); dato = nodo.getIData(); return dato;} public boolean PilaVacia(){ return ( EstaVacia() );} public void ImprimePila(){ ImprimeLista();} }
9. PilaVacia ( S ) If top( S ) = 0 return true Else return false Push ( S, x ) Top( S ) <– Top( S ) + 1 S[ top( S ) ] <– x Pop ( S ) If PilaVacia error else Top( S ) <– Top( S ) - 1 return S[ Top( S ) + 1 ] Pilas Implementadas en Vectores - Algoritmos
16. Encolar ( Q, x ) Q[ Fin( Q ) ] <– x if Fin( Q ) = length( Q ) Fin( Q ) <– 1 else Fin( Q ) <– Fin( Q ) + 1 Desencolar ( Q ) x <– Q[ Cabeza( Q ) ] if Cabeza( Q ) = Length( Q ) Cabeza( Q ) <– 1 else Cabeza( Q ) <– Cabeza( Q ) + 1 return x Colas Implementadas en Vectores - Algoritmos
17.
18. Cola doble enlace La mejor implementación de cola, es con una lista, donde se tenga un apuntador a la cabeza y uno al último de la lista. Cola doble Cabeza Cola Null Null 2 3 1 5