Advertisement
Guest User

int stack for ddd

a guest
Feb 17th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | None | 0 0
  1. struct Node{
  2.     int data;
  3.     Node* next = NULL;
  4. };
  5.  
  6. class Stack{
  7. private:
  8.     Node* begin = NULL;
  9.     int __size = 0;
  10. public:
  11.     void push(int a){
  12.         if(begin == NULL){
  13.             begin = new Node;
  14.             begin -> data = a;
  15.         }
  16.         else{
  17.             Node* temp = new Node;
  18.             temp -> data = a;
  19.             temp -> next = begin;
  20.             begin = temp;
  21.         }
  22.     }
  23.     int top(){
  24.         return begin -> data;
  25.     }
  26.     int pop(){
  27.         if(begin == NULL){
  28.             cerr << "Stack is empty but pop() founded";
  29.             return 0;
  30.         }
  31.         Node* mark = begin;
  32.         int temp = begin -> data;
  33.         begin = begin -> next;
  34.         delete mark;
  35.         return temp;
  36.     }
  37.     bool empty(){
  38.         return begin == NULL;
  39.     }
  40.     int size(){
  41.         int i = 0;
  42.         Node* temp = begin;
  43.         while(temp != NULL){
  44.             i++;
  45.             temp = temp -> next;
  46.         }
  47.     }
  48.     void clear(){
  49.         Node* temp;
  50.         while(begin != NULL){
  51.             temp = begin;
  52.             begin = begin -> next;
  53.             delete temp;
  54.         }
  55.     }
  56. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement