Friday, 27 April 2012

Stack Implementation using Arrays in C

Stack Implementation using Arrays in C


#include<stdio.h>
#include<conio.h>
#define MAX 5
int a[MAX];
int top=0;
 int main()
 {
  void push();
  void pop();
  void display();
  int flag=1,i,data;
  clrscr();
  while(1)
  {
   printf("\n\n\nMAIN MENU:\n\n1.PUSH\n2.POP\n3.EXIT\n\nENTER YOUR CHOICE: ");
   scanf("%d",&flag);
   switch(flag)
   {
    case 1:
    push();
    display();
    break;
    case 2:
    pop();
    display();
       break;
       case 3:
       exit(0);
       break;
    default:
    printf("Invalid Choice . ");
   }
  }
 }


 void push()
 {
  int num,data;
  if(top>=MAX)
  {
   printf("\nSTACK IS FULL!");
   return;
  }
  else
  {   if(top<0)
   {
    top=0;
   }
   printf("\n\nENTER THE STACK ELEMENT :  ");
   scanf("%d",&data);
   a[top++]=data;
  }
 }

 void pop()
 {
   if(top>=0)
   top--;

 }

 void display()
 {
  int i;
  if(top<=0)
  printf("\n\nSTACK EMPTY");
  else
  for(i=top-1;i>=0;i--)
  {
    printf("\n\n%d ",a[i]);
    if(i==(top-1))
    printf("---->TOP");
  }
 }

No comments:

Post a Comment