Print Friendly and PDF
#include< iostream.h> 
#include< conio.h> 
#define SIZE 20 
class stack 
{ 
int a[SIZE]; 
int tos; // Top of Stack 
public: 
stack(); 
void push(int); 
int pop(); 
int isempty(); 
int isfull(); 
}; 
stack::stack() 
{ 
tos=0; //Initialize Top of Stack 
} 
int stack::isempty() 
{ 
return (tos==0?1:0); 
} 
int stack::isfull() 
{ 
return (tos==SIZE?1:0); 
} 
void stack::push(int i) 
{ 
if(!isfull()) 
{ 
cout<<"Pushing "<< i<< endl; 
a[tos]=i; 
tos++; 
} 
else 
{ 
c0ut<<"Stack overflow error ! 
Possible Data Loss !"; 
} 
} 
int stack::pop() 
{ 
if(!isempty()) 
{ 
cout<<"Popping "<< a[tos-1]<< endl; 
return(a[--tos]); 
} 
else 
{ 
cout<<"Stack is empty! What to pop...!"; 
} 
return 0; 
} 
void reverse(stack s) 
{ 
stack s2; 
while(!s.isempty()) 
{ 
s2.push(s.pop()); 
} 
cout<<"Reversed contents of the stack..."<< endl; 
while(!s2.isempty()) 
{ 
cout<< s2.pop()<< endl; 
} 
}//end of fn. 
void main() 
{ 
clrscr(); 
stack s; 
s.push(1); 
s.push(2); 
s.push(3); 
reverse(s); 
getch(); 
}
zubairsaif

Zubair saif

A passionate writer who loves to write on new technology and programming

Post A Comment:

0 comments: