#include<iostream.h>
#include<conio.h>
struct Node {
int data;
Node *next;
}
*top,*p;
Node* newnode(int x) {
p=new Node;
p->data=x;
p->next=NULL;
return(p);
}
void push(Node *q) {
if(top==NULL)
top=q; else {
q->next=top;
top=q;
}
}
void showstack(Node *q) {
while(q!=NULL) {
cout<<q->data<<” “;
q=q->next;
}
}
void main() {
clrscr();
int x;
char ch=’y’;
Node *nptr;
while(ch==’y’||ch==’Y’) {
cout<<“nEnter the data(int type):”;
cin>>x;
nptr=newnode(x);
push(nptr);
cout<<“nThe stack is:”;
showstack(top);
cout<<“nnWnat push more(y/n):”;
cin>>ch;
}
}
C++ program to perform a PUSH operation on a dynamically allocated stack
Levels of difficulty: medium / perform operation: