avv210

Stack Array Base

Apr 19th, 2022 (edited)
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.51 KB | None | 0 0
  1. #include <iostream>
  2. #define size 10
  3.  
  4. class Stack
  5. {
  6. private:
  7.     int top1;
  8.     int top2;
  9.  
  10. public:
  11.     int stack1[size];
  12.     int stack2[size];
  13.  
  14.     Stack() { top1 = -1, top2 = -1; }
  15.  
  16.     bool isFull()
  17.     {
  18.         return (top1 >= (size - 1)) ? true : false;
  19.     }
  20.  
  21.     bool isEmpty()
  22.     {
  23.         return (top1 < 0) ? true : false;
  24.     }
  25.  
  26.     void push(int val)
  27.     {
  28.         if (!isFull())
  29.         {
  30.             stack1[++top1] = val;
  31.             std::cout << "Data " << val << "  successfuly pushed\n";
  32.         }
  33.        
  34.         else
  35.             std::cout << "Stack overflow!!\n";
  36.     }
  37.  
  38.     int pop()
  39.     {
  40.         if (top1 < 0)
  41.         {
  42.             std::cout << "Stack underflow!!\n";
  43.             return 0;
  44.         }
  45.  
  46.         else
  47.         {
  48.             int data = stack1[top1--];
  49.             return data;
  50.         }
  51.     }
  52.  
  53.     int peek()
  54.     {
  55.         if (top1 < 0)
  56.         {
  57.             std::cout << "Stack is empty!!";
  58.             return 0;
  59.         }
  60.  
  61.         else
  62.         {
  63.             int data = stack1[top1];
  64.             return data;
  65.         }
  66.     }
  67.  
  68.     void printStack()
  69.     {
  70.         int listLength = sizeof(stack1) / sizeof(stack1[0]);
  71.         std::cout << "Content: ";
  72.         for (int i = 0; i < listLength; i++)
  73.             std::cout << stack1[i] << ", ";
  74.     }
  75. };
  76.  
  77. void sortStack()
  78. {
  79.     Stack stack;
  80.     int i = 0;
  81.     int stackSize = sizeof(stack.stack1) / sizeof(stack.stack1[0]);
  82.     while (i < stackSize)
  83.     {
  84.         //if()
  85.     }
  86. }
  87.  
  88. int main()
  89. {
  90.     int dataSet[] = { 12, 76, 45, 34, 6, 13, 21, 5, 10, 89 };
  91.     int dataSetLength = sizeof(dataSet) / sizeof(dataSet[0]);
  92.     Stack stack;
  93.  
  94.     for (int i = 0; i < dataSetLength; i++)
  95.     {
  96.         stack.push(dataSet[i]);
  97.     }
  98.     int peekTop = stack.peek();
  99.     std::cout << "Top: " << peekTop << "\n";
  100.     stack.printStack();
  101.  
  102.     return 0;
  103. }
Add Comment
Please, Sign In to add comment