/* Write a program to implement stack in C. Stack is a LIFO data structure * * LIFO - Last in First Out * * Perform PUSH(insert operation), POP(Delete operation) and Display stack */#include <stdio.h> #include <conio.h> #define MAX SIZE 5struct stack /* Structure definition for stack */ { int stk[MAXSIZE]; int top; };typedef struct stack STACK; STACK s;/* Function declaration*/void push (void); int pop(void); void display (void);void main () { int choice; int option = 1;clrscr ();s.top = -1;printf ("STACK OPERATION\n"); while (option) { printf ("----------------------------------\n"); printf (" 1 >---> PUSH \n"); printf (" 2 >---> POP \n"); printf (" 3 >---> DISPLAY \n"); printf (" 4 >---> EXIT \n"); printf ("----------------------------------\n");printf ("Enter your choice\n"); scanf ("%d", &choice); switch (choice) { case 1: push(); break; case 2: pop(); break; case 3: display(); break; case 4: return; }fflush (stdin); printf ("wish to continue(Type 0 or 1)?\n"); scanf ("%d", &option); } }/*Function to add an element to the stack*/ void push () { int num; if (s.top == (MAXSIZE - 1)) { printf ("Stack is Full\n"); return; } else { printf ("Enter the element to be pushed\n"); scanf ("%d", &num); s.top = s.top + 1; s.stk[s.top] = num; } return; }/*Function to delete element from stack*/ int pop () { int num; if (s.top == - 1) { printf ("Stack is Empty\n"); return (s.top); } else { num = s.stk[s.top]; printf ("poped element is = %d\n", s.stk[s.top]); s.top = s.top - 1; } return(num); }/*Function to display the status of the stack*/ void display () { int i; if (s.top == -1) { printf ("Stack is empty\n"); return; } else { printf ("\nThe status of the stack is\n"); for (i = s.top; i >= 0; i--) { printf ("%d\n", s.stk[i]); } } printf ("\n"); }/*--------------------------------------------------------------------------- Output STACK OPERATION ------------------------------------------ 1 >---> PUSH 2 >---> POP 3 >---> DISPLAY 4 >---> EXIT ------------------------------------------ Enter your choice 1 Enter the element to be pushed 23 Do you want to continue(Type 0 or 1)? 1 ------------------------------------------ 1 >---> PUSH 2 >---> POP 3 >---> DISPLAY 4 >---> EXIT ------------------------------------------ Enter your choice 1 Enter the element to be pushed 45 Do you want to continue(Type 0 or 1)? 1 ------------------------------------------1 >---> PUSH 2 >---> POP3 >---> DISPLAY 4 >---> EXIT ------------------------------------------ Enter your choice 1 Enter the element to be pushed 78 Do you want to continue(Type 0 or 1)? 1 ------------------------------------------ 1 >---> PUSH 2 >---> POP 3 >---> DISPLAY 4 >---> EXIT ------------------------------------------ Enter your choice 3The status of the stack is 78 45 23----------------------------------------------------------------*/
Sunday, 28 July 2013
Home »
C language
» Program to implement Stack in C
0 comments:
Post a Comment