La Pila es igual a una pila de libros.... al ir agregando solo podes sacar el ultimo sino se te cae todo.
Lo que se necesita es llevar referencia al ultimo elemento.
Las acciones que permite una cola son:
Insertar
Sacar
EstaVacia
Por lo general se implementa como una lista simplemente enlazada llevando el puntero del ultimo elemento.
La cola es como ir al supermercado. Vos llegas ultimos en la cola de la caja y tenes que esperar a que atiendan a todos para vos salir.
Los acciones que tiene son la misma que sobre la pila pero esta devuelve los elementos de distintos orden...
La cola se puede implementar de dos formas: un lista simple llevando el puntero al primer elemento o una lista doblemente enlazada con referencia al primer y ultimo elemento (de esta forma insertar y sacar se hacen de forma costante).
Por ultimo la lista....la lista se le permite ingresar en cualquier parte los elementos...
Para cualquiera de todas estas implementaciones una estructura sugerida es la siguiente:
Código C:
Ver originalstruct Lista {
Nodo n;
struct Lista * Siguiente, Anterior;
};
Como veras cada eslabon de la lista tiene un Nodo (Los datos), y dos punteros uno al siguiente y otro al anterior....obviamente que el anterior no siempre esta presente. Y el tipo de dato Nodo suele cambiar. Puede ser un int un char u algun otra estructura conocida.
Saludos