Thursday, September 19, 2013

Stack Operations.


#include<stdio.h>
#include<stdlib.h>
#define SIZE 10
int item,i;
int push(int stack[SIZE],int &tos,int item)
{
   if(tos==SIZE-1)
        {printf("\n Stack Overflow.");

        }
   tos=tos+1;
   stack[tos]=item;
   return 0;
}
int pop(int stack[SIZE],int &tos)
{
int no;
if(tos==-1)
    printf("\n Stack is empty Cannot delete any Element...\n");
else
{no=stack[tos];
tos=tos-1;}
return 0;
}
int display(int stack[SIZE],int tos)
{   if(tos==-1)
    printf("\n Stack Is Empty......\n");
else{
     printf("\n Stack is:\n");
    for(i=tos;i>=0;i--)
    {    printf("\n __\n|");
        printf("%d",stack[i]);
        printf("|");}}
}
int main()
{
int ch,stack[SIZE],n;
static int tos=-1;
do
{
printf(" \n STACK OPERATIONS \n\t1.FILL STACK(before pushing) 2.PUSH\t 3.POP\t4.DISPLAY\t5.EXIT\n");
scanf("%d",&ch);
switch(ch)
{   case 1:printf("\n Enter the no of elements to be inserted:");
           scanf("%d",&n);
           printf("\n Enter elements:");
           for(i=0;i<n;i++)
            {scanf("%d",&stack[i]);tos++;}
            break;
    case 2:
            printf("\n Enter the element to be inserted:");
            scanf("%d",&item);
           push(stack,tos,item);
           break;
    case 3:
            pop(stack,tos);
            break;
    case 4:display(stack,tos);
           break;
    case 5:printf("\n Terminating......");
           exit(0);
           break;
    default:printf("\n Wrong Choice!!!");
    break;
}printf("\n Press Any Key to Continue.......\n ");


}while(n!=5);
return 0;
}

No comments:

Post a Comment