Sunday, February 27, 2011

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]);
}



0 comments:

Post a Comment