C LANGUAGE BOOK |
Stacks
The INSERT operation on a stack is often called PUSH,
and theDELETE operation, which does not take an element
argument, is often called POP.
In a stack, the element deleted from the set is the one most recently
inserted: the stack implements a last-in, first-out,or LIFO, policy.
/*
WAP TO PERFPORM STACK OPERATION PUSH AND POP
*/
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define SIZE 50
void push(int i);
int pop(void);
int *tos, *p1, stack[SIZE];
int main(void)
{ clrscr();
int value;
tos = stack;
p1 = stack;
do{
printf("Enter value: ");
scanf("%d", &value);
if(value != 0)push(value);
else printf( "value on top is %d\n", pop());
}while(value != -1);
return 0;
}
void push(int i)
{
p1++;
if(p1 == (tos+SIZE)){
printf( "Stack Overflow.\n");
exit(1);
}
*p1 = i;
}
int pop(void)
{
if(p1 == tos){
printf( "Stack Underflow.\n");
exit(1);
}
p1--;
return *(p1+1);
}
C LANGUAGE BOOK |
No comments:
Post a Comment