Wednesday, 22 October 2014

/* ARRAY IMPLEMENTATION OF STACK  */

#include<stdio.h>
#include<stdlib.h>
#define MAX 10
 int stack_arr[MAX];
 int top =  -1;
 void push(int item);
 int pop();
 int peep();
 int isEmpty();
 int isFull();
 void display();
 main()
   {
       int choice,item;
       while(1)
{
printf("1.push\n");
printf("2.pop\n");
printf("3.disply the top element\n");
printf("4.disply all stack element\n");
printf("5.Quit\n");
printf("ENTER your choice :");
scanf("%d",&choice);
 switch(choice)
 {
        case 1:
     printf("Enter the item to be pushed ");
     scanf("%d",&item);
     push(item);
       break;
        case 2:
     item = pop();
     printf("poped item is :%d\n",item);
        break;
     case 3:
     printf("item at the top is : %d\n",peek());
         break;
       case 4:
     display();
         break;
     case 5:
     exit(1);
     default:
printf("Wrong choice\n");
    }
   }
 }
 void push(int item)
 {
     if(isfull())
   {
    printf("stack overflow\n");
 return;
   }
 top = top +1;
stack_arr[top]=item;
  }
int pop()
{
    int item;
    if(isEmpty())
    {
        printf("stack underflow\n");
        exit(1);
    }
    item = stack_arr[top];
    top = top-1;
    return item;
}
 int peek()
 {
     if(isEmpty())
     {
         printf("stack underflow\n");
     exit(1);

     }
     return stack_arr[top];
     
 }
 int isEmpty()
 {
     if(top==-1)

      return 1;
        else 
         return 0;
         
 }
 int isfull()
  {
      if(top==MAX-1)
  return 1;
   else 
     return 0;
  }
  void display()
  {
      int i;
      if(isEmpty())
      {
        printf("stack is empty\n");
          return ;
          }
  printf("stack element:\n\n");
   for(i=top; i>=0; i--)
   printf("%d\n",stack_arr[i]);
    printf("\n");    
  }
  
  output

                                      

          
published by Ankit kumar (415632) 

No comments:

Post a Comment

Note: only a member of this blog may post a comment.