STAARRAY

Home >> Sem 2 >> Data-structur >> STAARRAY

/*  Write a Program to perform the following operation stack using array. */
/* PUSH, POP, ISEMPTY, ISFULL, PEEP   */
#define max 4
void push();
void pop();
int isempty();
int isfull();
void peep();
void disp();
int top=-1,stack[max];
void main()
 {
   int ret,s1,choice;
   clrscr();
do
 {
   printf("\n\n1 : Push element in Stack.\n");
   printf("2 : Pop an element from stack.\n");
   printf("3 : Peep an element into stack.\n");
   printf("4 : Exit from Program.\n");
   printf("Enter your choice :  ");
   scanf("%d",&choice);

   switch(choice)
    {
     case 1:
         ret = isfull();
           if(ret!=1)
            push();
            disp();
          break;
     case 2:
         ret = isempty();
          if(ret != 1)
            pop();
            disp();
          break;
     case 3:
          ret = isempty();
           if(ret != 1)
            peep();
            disp();
          break;
     case 4:
          exit();
     default :
         printf("\n\n\t\t######## INVALID CHOICE ##########\n\n");
    }

 }while(s1);

}



int isfull()
 {
   if(top == max)
    {
     printf("\n\n\t\t####### STCK IS OVERFLOW #########\n\n");
     return 1;
    }
   else
    return 0;
}


int isempty()
 {
   if(top == -1)
    {
     printf("\n\n\t\t####### STCK IS UNDERFLOW #########\n\n");
     return 1;
    }
   else
    return 0;
}

void push()
 {
   int item;
   printf("\nEnter an Integer value : ");
   scanf("%d",&item);
   top = top + 1;
   stack[top] = item;
 }

void pop()
 {
   int item;
   item = stack[top];
   top = top -1;
   printf("\n\n\t\t%d is deleted\n",item);
 }


void peep()
 {
   int item,p;
   printf("\n\nEnter position : ");
   scanf("%d",&p);
    printf("\n\nYour selected Element is %d ",stack[top-p+1]);
 }

void disp()
 {
   int i;
   printf("\n\nStack Contains : ");
   for(i=0;i<=top;i++)
    printf("%d ",stack[i]);
 }