Advertisement
Tucancitto

Lab2 - Pb1

Mar 7th, 2021 (edited)
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. struct Nod
  4. {
  5.     int INFO;
  6.     Nod* NEXT;
  7. };
  8.  
  9. struct Stiva
  10. {
  11.     Nod* VARF = NULL;
  12.     int SIZE = 0;
  13.  
  14.     bool EMPTY()
  15.     {
  16.         if (VARF == nullptr)
  17.             return true;
  18.         return false;
  19.     }
  20.  
  21.     void PUSH(int valoare)
  22.     {
  23.         Nod* deAdaugat = new Nod;
  24.         deAdaugat->INFO = valoare;
  25.         deAdaugat->NEXT = VARF;
  26.         VARF = deAdaugat;
  27.         SIZE++;
  28.     }
  29.  
  30.     void POP()
  31.     {
  32.         if (!EMPTY())
  33.         {
  34.             Nod* deEliminat = VARF;
  35.             VARF = VARF->NEXT;
  36.             delete deEliminat;
  37.             SIZE--;
  38.         }
  39.     }
  40.  
  41.     int TOP()
  42.     {
  43.         if (!EMPTY())
  44.             return VARF->INFO;
  45.     }
  46.  
  47.     void CLEAR()
  48.     {
  49.         while (!EMPTY())
  50.             POP();
  51.     }
  52. };
  53.  
  54. int main()
  55. {
  56.     Stiva stv;
  57.  
  58.     int dimensiune;
  59.     std::cin >> dimensiune;
  60.  
  61.     for (int index = 0; index < dimensiune; ++index)
  62.     {
  63.         int numar;
  64.         std::cin >> numar;
  65.         stv.PUSH(numar);
  66.     }
  67.  
  68.     Nod* deAfisat = stv.VARF;
  69.     while (deAfisat != NULL)
  70.     {
  71.         std::cout << deAfisat->INFO << ' ';
  72.         deAfisat = deAfisat->NEXT;
  73.     }
  74.  
  75.     stv.CLEAR();
  76.     return 0;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement