#include<iostream>
using namespace std;
class stack
{
public:
stack(int num){
top=-1;
max=num;
a=new int[max];
};
void push();
void pop();
void display();
private:
int top;
int max;
int input;
int *a;
};
void stack::push()
{
if(top==max-1)
{
cout<<"stack is overflow"<<endl;
}
else
{
cout<<"Enter the Element in the Stack"<<endl;
cin>>input;
top=top+1;
a[top]=input;
}
}
void stack::pop()
{
if(top==-1)
{
cout<<"Stack is Empty"<<endl;
}
else
{
cout<<"Stack value : "<<a[top]<<endl;
top=top-1;
}
}
void stack::display()
{
if(top==-1)
{
cout<<"Stack is Empty"<<endl;
}
else
{for(int i=top; i>=0; i--)
{
cout<<"Stack["<<i<<"] : "<<a[i]<<endl;
}
}
}
int main()
{
int data;
cout<<"Enter the max len of Stack"<<endl;
cin>>data;
stack *stk=new stack(data);
int select;
char again;
do{
cout<<"***** 1.PUSH ****"<<endl;
cout<<"***** 2.POP ****"<<endl;
cout<<"***** 3.Display ****"<<endl;
cout<<"Select the option"<<endl;
cin>>select;
switch(select)
{
case 1:stk->push();break;
case 2:stk->pop(); break;
case 3:stk->display();break;
default : cout<<"Wrong input"<<endl;
}
cout<<"Do You Want Again(Y/N)"<<endl;
cin>>again;
}while(again=='y'||again=='Y');
}
output :
* note :
A little more detailed answer:
using namespace std;
class stack
{
public:
stack(int num){
top=-1;
max=num;
a=new int[max];
};
void push();
void pop();
void display();
private:
int top;
int max;
int input;
int *a;
};
void stack::push()
{
if(top==max-1)
{
cout<<"stack is overflow"<<endl;
}
else
{
cout<<"Enter the Element in the Stack"<<endl;
cin>>input;
top=top+1;
a[top]=input;
}
}
void stack::pop()
{
if(top==-1)
{
cout<<"Stack is Empty"<<endl;
}
else
{
cout<<"Stack value : "<<a[top]<<endl;
top=top-1;
}
}
void stack::display()
{
if(top==-1)
{
cout<<"Stack is Empty"<<endl;
}
else
{for(int i=top; i>=0; i--)
{
cout<<"Stack["<<i<<"] : "<<a[i]<<endl;
}
}
}
int main()
{
int data;
cout<<"Enter the max len of Stack"<<endl;
cin>>data;
stack *stk=new stack(data);
int select;
char again;
do{
cout<<"***** 1.PUSH ****"<<endl;
cout<<"***** 2.POP ****"<<endl;
cout<<"***** 3.Display ****"<<endl;
cout<<"Select the option"<<endl;
cin>>select;
switch(select)
{
case 1:stk->push();break;
case 2:stk->pop(); break;
case 3:stk->display();break;
default : cout<<"Wrong input"<<endl;
}
cout<<"Do You Want Again(Y/N)"<<endl;
cin>>again;
}while(again=='y'||again=='Y');
}
output :
* note :
int *array = new int[n];
It declares a pointer to a dynamic array of type int
and size n
. A little more detailed answer:
new
allocates memory of size equal to sizeof(int) * n
bytes and return the memory which is stored by the variable array
. Also, since the memory is dynamically allocated using new
Comments
Post a Comment