Wednesday, August 17, 2011

QUES 23 STACK


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