Demostración de como se usa una pila en C++, pide al usuario números que inserta y luego los copia en otra pila.

C++:
  1. #include <iostream>
  2. #include <stack>
  3. #include <cstdlib>
  4. #include <ostream>
  5. #include <iterator>
  6.  
  7. /** Programa que recibe números en una pila, y después, la copia a otra pila, para
  8.   * después desplegarlos en la copia
  9.   *
  10.   * @author Taboo
  11.   */
  12.  
  13. using namespace std;
  14.  
  15. int main(int argc, char** argv)
  16. {
  17.  
  18.   // Crea una pila, para números enteros
  19.   stack <int> pilaOriginal;
  20.  
  21.   // pregunta cuantos elementos quiere meter el usuario:
  22.   int elementos;
  23.   cout <<"Cuantos elementos quieres insertar:?" <<endl;
  24.   cin>> elementos;
  25.  
  26.   // mientras se necesiten mas elementos, pregunta al usuario:
  27.   int contador = 0;
  28.  
  29.   while(contador <elementos)
  30.   {
  31.                  int x;
  32.                  cout <<"Da el elemento numero: " <<contador <<endl;
  33.                  cin>> x;
  34.                  pilaOriginal.push(x);
  35.                  contador++;               
  36.   }
  37.  
  38.   // ya estan todos los elementos, para confirmar, se imprimen, al reves, pues es una pila
  39.   int size = pilaOriginal.size();
  40.  
  41.     // copiamos la cola en otra, antes de hacer los pops, sino, ya se borran los elementos
  42.  
  43.   stack <int> pilaCopia(pilaOriginal);
  44.  
  45.     cout <<"Datos en la original: " <<endl;
  46.  
  47.   for(int i = 0; i <size; i++)
  48.   {
  49.         cout <<"elemento en posicion: " <<i <<" = " <<pilaOriginal.top() <<endl;
  50.           pilaOriginal.pop();
  51.   }
  52.  
  53.   cout <<"Datos en la copia: " <<endl;
  54.   // tambien la imprimimos
  55.  
  56.   int sizeCopia = pilaCopia.size();
  57.   for(int i = 0; i <sizeCopia; i++)
  58.   {
  59.           cout <<"elemento en posicion: " <<i <<" = " <<pilaCopia.top() <<endl;
  60.           pilaCopia.pop();
  61.   } 
  62.  
  63.    
  64.   system("PAUSE")
  65.   return EXIT_SUCCESS;   
  66. }

Popularidad: 15%