Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Implementation of stack in C */
- #include<stdio.h>
- #include<stdlib.h>
- #define SIZE 3
- struct stak{
- int stack[SIZE];
- int top;
- }stackvar;
- int isFull();
- int isEmpty();
- void push(int);
- int pop();
- void peek();
- void display();
- int main()
- {
- stackvar.top = -1;
- int option, element;
- while(1)
- {
- printf("\n\nENTER YOUR OPTION\n");
- printf("1. PUSH\n2. POP\n3. PEEK\n4. DISPLAY\n5. EXIT\n");
- scanf("%d",&option);
- switch(option)
- {
- case 5: exit(0);
- case 1: printf("ENTER ELEMENT TO PUSH\n");
- scanf("%d",&element);
- push(element);
- break;
- case 2:printf("%d HAS BEEN POPPED\n",pop());
- break;
- case 3:peek();
- break;
- case 4:display();
- break;
- default: printf("INVALID OPTION\n");
- }
- }
- return 0;
- }
- int isFull()
- {
- return stackvar.top == SIZE-1;
- }
- int isEmpty()
- {
- return stackvar.top == -1;
- }
- void push(int ele)
- {
- if(isFull())
- {
- printf("STACK IS FULL, CANT PUSH\n");
- }
- else
- {
- stackvar.stack[++stackvar.top] = ele;
- printf("%d HAS BEEN PUSHED\n",ele);
- }
- }
- int pop()
- {
- if(isEmpty())
- {
- printf("THE STACK IS EMPTY, CAN'T POP\n");
- return -1;
- }
- return stackvar.stack[stackvar.top--];
- }
- void peek()
- {
- if(!isEmpty())
- printf("\nTOP OF THE STACK IS %d\n",stackvar.stack[stackvar.top]);
- else
- printf("STACK IS EMPTY\n");
- }
- void display()
- {
- int i;
- i = stackvar.top;
- if(!isEmpty())
- while(i != -1)
- printf("\n\t%d\n",stackvar.stack[i--]);
- else
- printf("STACK IS EMPTY\n");
- }
Add Comment
Please, Sign In to add comment