- Get link
- X
- Other Apps
Featured Post
Posted by
Unknown
on
- Get link
- X
- Other Apps
A Simple stack using arrays.
#include <iostream> #include <stdlib.h> using namespace std; class Base{ public: virtual void push(int) = 0; virtual int pop() = 0; }; class Stack : public Base{ int *arr; int stack_len; public: int top; Stack(int size); ~Stack(); void push(int); int pop(); void print_stack(); }; Stack::Stack(int size) { arr = new int[size]; top = -1; stack_len = size; } Stack::~Stack() { delete[] arr; } void Stack::push(int item) { if((top + 1) < stack_len) { cout<<"Pushed "<<item<<endl; arr[++top] = item; print_stack(); } else { cout<<"Stack Full!!!"; exit(0); } } int Stack::pop() { if(top!= -1) { cout<<"Popped "<<arr[top]<<endl; --top; print_stack(); } else { cout<<"Stack Empty!!!"; exit(0); } } void Stack::print_stack() { int i; for(i = top ; i > -1 ; i--) { cout<<" "<<arr[i]; } cout<<endl; } int main() { Stack s1(5); s1.push(1); s1.push(2); s1.push(3); s1.push(4); s1.pop(); s1.pop(); }
Comments
Post a Comment
Please post your valuable suggestions