diferencia entre colas y pilas?
Primeramente aclaremos algo: técnicamente la pila y la cola son 2 casos especiales de uso de una lista. Todos son TAD: Tipos Abstractos de Datos.
En una lista los datos pueden almacenarse (insertarse) en cualquier orden, y eliminarse desde cualquier lugar. Es decir puedes insertar al comienzo, al final, en el medio... y de la misma manera se puede eliminar.
Una Cola es una lista FIFO: First In, First Out. "Primero en Entrar, Primero en Salir", en castellano. Es decir los elementos se ordenan desde un extremo (el frente) y se van ordenando uno detrás del otro. El elemento que está en primer lugar entonces se eliminará, y ahora el segundo pasará a ser el primero. La representación más visual y que aclara esto lo puedes ver cada vez que haces cola o fila para ser atendida en caja. Naturalmente, el último en llegar, será el último en salir.
En cambio, la Pila es una lista LIFO: Last In, First Out. "Primero en Entrar, Último en Salir". Es decir los elementos se van formando de forma inversa, llega el primero, a continuación el segundo se ubica delante de él, y así hasta llegar el último. Ahora en el tope de la pila estará el último. Por tanto a eliminarse, se van retirando en forma inversa, desde el último hacia el primero. Un ejemplo típico: cuando apilas los platos al lavar y secar.
En términos técnicos, los elementos tienen un puntero (dirección de memoria) que permite "apuntar" al elemento próximo en la lista.
Espero que te sirva.
P.D. Esta descripción no es de mia, la encontré en Internet pero no recuerdo donde.