m2skills

STACK C++ ARR

Jun 11th, 2017
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.46 KB | None | 0 0
  1. /* program for stack implementation in c++ using array*/
  2. #include <iostream>
  3. using namespace std;
  4.  
  5. class stackk
  6. {
  7.     private:
  8.         // making a stack of size 20
  9.         int stk[20],top;
  10.  
  11.     public:
  12.         // constructor for the class
  13.         stackk()
  14.         {
  15.             top=-1;
  16.         }
  17.  
  18.         // method to push the element onto the stack
  19.         void push(int element)
  20.         {
  21.             //increment top value
  22.             top++;
  23.  
  24.             //check if stack is full
  25.             if(top==20)
  26.             {
  27.                 cout<<"\nSTACKFULL!!!!!";
  28.             }
  29.             else
  30.             {
  31.                 stk[top]=element;
  32.                 cout<<"\nELEMENT PUSHED!!";
  33.             }
  34.             return;
  35.         }
  36.  
  37.         int pop()
  38.         {
  39.             int element;
  40.             //check if stack is empty
  41.             if(top<0)
  42.             {
  43.                 cout<<"\nSTACKEMPTY!!!!!";
  44.                 //consider all elements are smaller than 99999
  45.                 return 99999;       //returning  99999 to indicate stackempty
  46.             }
  47.             else
  48.             {
  49.                 element=stk[top];
  50.                 // decrement the top value
  51.                 top--;
  52.                 return element;
  53.             }
  54.         }
  55.        
  56.         //display stack contents
  57.         void display()
  58.         {
  59.             int i;
  60.             for(i=0;i<=top;i++)
  61.                 {
  62.                     cout<<"\n"<<stk[i];
  63.                 }
  64.         }
  65. };
  66.  
  67. int main()
  68. {
  69.     int element,cont,choice;
  70.     cont=1;
  71.     stackk s1;
  72.  
  73.     do
  74.     {
  75.         cout<<"\nTHE FOLLOWING CHOICES ARE AVAILIABLE : ";
  76.         cout<<"\n1.PUSH AN ELEMENT";
  77.         cout<<"\n2.POP AN ELEMENT";
  78.         cout<<"\n3.VIEW STACK CONTENTS";
  79.         cout<<"\nENTER YOUR CHOICE : ";
  80.         cin>>choice;
  81.  
  82.         switch(choice)
  83.         {
  84.             case 1:
  85.                 cout<<"\nENTER THE ELEMENT TO BE PUSHED : ";
  86.                 cin>>element;
  87.                 s1.push(element);
  88.                 break;
  89.  
  90.             case 2:
  91.                 element=s1.pop();
  92.                 if(element!=99999)
  93.                 {
  94.                     cout<<"\nTHE ELEMENT POPPED  IS : "<<element;
  95.                 }
  96.                 break;
  97.  
  98.             case 3:
  99.                 cout<<"\nTHE ELEMENTS OF STACK ARE : ";
  100.                 s1.display();
  101.                 break;
  102.         }
  103.         cout<<"\nDO YOU WANT TO CONTINUE (1/0): ";
  104.         cin>>cont;
  105.  
  106.     }while(cont==1);
  107.     return 0;
  108. }
Add Comment
Please, Sign In to add comment