rod1231234

Pilha

May 4th, 2012
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.11 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. template <class T>
  6.  
  7. class PilhaD
  8. {
  9.     T *vet;
  10.     T top;
  11.     T tam;
  12.    
  13. public:
  14.     void criaPilha();
  15.     void empilha();
  16.     void desempilha();
  17.     void desaloca();
  18. };
  19.  
  20. template <class T>
  21. void PilhaD<T>::criaPilha()
  22. {
  23.     cout << "\nTamanho Desejado Para A Pilha: ";
  24.     cin >> tam;
  25.     vet= new int [tam];
  26. }
  27.  
  28. template <class T>
  29. void PilhaD<T>::empilha()
  30. {
  31.     top=0;
  32.     for(int i=0;i<tam;i++)
  33.     {
  34.         cout << "Valor " << top+1 << " Para Empilhar: ";
  35.         cin >> vet[i];
  36.         top++;
  37.         cout << "\n";
  38.         if(top == tam)
  39.             cout << "Pilha Completa\n";
  40.     }
  41.     top--;
  42. }
  43.  
  44. template <class T>
  45. void PilhaD<T>::desempilha()
  46. {
  47.     for(int i=0;i<tam;i++)
  48.     {
  49.         cout << "Desempilhamento: " << vet[top] << "\n";
  50.         top--;
  51.         if(top == -1)
  52.             cout << "Pilha Vazia\n";
  53.     }
  54. }
  55.  
  56. template <class T>
  57. void PilhaD<T>::desaloca()
  58. {
  59.     delete []vet;
  60. }
  61. int main (void)
  62. {
  63.     PilhaD <int> A;
  64.     A.criaPilha();
  65.     A.empilha();
  66.     A.desempilha();
  67.     A.desaloca();
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment