write a program in c++ to implement stack using functions
in header file stack.h
Answer Posted / sachindra bagchi
Implementing Stack using Class (with constructor etc).
# 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
{
cerr<<"Stack overflow error !
Possible Data Loss !";
}
}
int stack::pop()
{
if(!isempty())
{
cout<<"Popping "<<a[tos-1]<<endl;
return(a[--tos]);
}
else
{
cerr<<"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();
}
| Is This Answer Correct ? | 30 Yes | 32 No |
Post New Answer View All Answers
What are c++ templates used for?
What are the advantages of pointers?
Explain the operation of overloading of an assignment operator.
What relational operators if statements in c++?
What are the different types of comments allowed in c++?
Difference between a copy constructor and an assignment operator.
Which programming language's unsatisfactory performance led to the discovery of c++?
Which coding certification is best?
Tell me difference between constant pointer and pointer to a constant.
Which bit wise operator is suitable for putting on a particular bit in a number?
When are exception objects created?
Why is it necessary to use a reference in the argument to the copy constructor?
Does dev c++ support c++ 11?
What header file is needed for exit(); a) stdlib.h b) conio.h c) dos.h
Is c++ an integer?