Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #define max 100
- typedef struct
- {
- int s[max];
- int tos;
- }stack;
- int isempty(stack *t)
- {
- if(t->tos==-1)
- return 1;
- else return 0;
- }
- void push(stack *t,int ele)
- {
- if(t->tos==(max-1))
- {
- printf("\n STACK OVERFLOW");
- return;
- }
- else
- {
- t->tos=t->tos+1;
- t->s[t->tos]=ele;
- return;
- }
- }
- void pop(stack *t)
- {
- int z;
- if(isempty(t)==1)
- {
- printf("\nSTACK UNDERFLOW");
- return;
- }
- else
- {
- z = t->s[t->tos];
- t->tos = t->tos-1;
- printf("\nDeleted element is %d",z);
- return;
- }
- }
- void top(stack *t)
- {
- int z;
- if(isempty(t)==1)
- {
- printf("\nSTACK UNDERFLOW");
- return;
- }
- else
- {
- z = t->s[t->tos];
- printf("\nTOP of stack is %d",z);
- return;
- }
- }
- void display(stack *t)
- {
- int i;
- if(isempty(t)==1)
- {
- printf("\nSTACK UNDERFLOW");
- return;
- }
- else
- {
- printf("\nELEMENTS OF STACK is given below\n");
- for(i=tos;i>=0;i--)
- {
- printf("%d\t",t->s[i]);
- }
- return ;
- }
- }
- int main()
- {
- int ch,ele;
- stack x;
- x.tos = -1;
- printf("IMPELEMENTATION of STACK USING ARRAY\n");
- while(1)
- {
- printf("\n1.INSERT ELEMENT IN STACK \n2.DELETE ELEMENT FROM STACK \n3.TOP OF STACK \n4.DISPLAY ELEMENTS OF STACK \n5.EXIT\n");
- scanf_s("%d",&ch);
- if(ch==5)
- break;
- else
- {
- switch(ch)
- {
- case 1: printf("\n enter element to insert in stack");
- scanf_s("%d",&ele);
- push(&x,ele);
- break;
- case 2:pop(&x);
- break;
- case 3:top(&x);
- break;
- case 4:display(&x);
- break;
- default:printf(" Invalid input");
- }
- }
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement