La forma de trabajo del C++ en apuntadores se realiza asignando referencias a espacios de memoria de un tipo de datos en específico. Si se desea crear pilas y colas, es necesario tener la referencia de cada espacio de memoria, para lo cual es casi necesario usar listas enlazadas que referencien a una pila o cola, por ejemplo: Pila ------------------------------------------------------------------------ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | 11 | 1 | ...| ------------------------------------------------------------------------ | | Punt "P" Punt "X" Para esta pila se tiene un puntero "P" que indique el inicio. Para hacer un pus, se reserva un espacio de memoria y se enlaza este espacio de memoria a la dirección del puntero "P", y este puntero "P" hará referencia al nuevo espacio reservado, creando así un nuevo dato en la pila. Para hacer un pop, sera necesario que el puntero "P" haga referencia al siguiente elemento, y el elemento a la que anteriormente apuntaba el puntero "P" debe ser liberado de memoria. El proceso para las colas es de forma similar, con la única diferencia de que se tiene que tener 2 punteros, que referncien al inicio y al final, asignando memoria al inicio con el puntero "P" y liberando memoria al final con el Puntero "X" Espero haberte ayudado Suerte Luis