STACKs (Using Arrays)
Implemented using C Language
C Language Code:
ARRSTACK.H
// DSTC ARRSTACK.H
// implementation of stacks using 1 dimentional array
typedef struct arraystack
{
int *bfr ;
int size;
int top ;
}stack ;
stack *makestack(int n)
{
stack *s ;
s = (stack *)malloc(sizeof(stack));
s->top = -1 ;
s->size = n ;
s->bfr = (int *)malloc(sizeof(int)*n);
return (s);
}
void pushstack(stack *s,int val)
{
if (s->top == (s->size-1))
{ printf("\n Stack is FULL ");
exit(1);
}
if (s->top == -1)
s->top = 0 ;
else
s->top += 1 ;
s->bfr[s->top] = val ;
}
int popstack(stack *s)
{
int v ;
if(s->top == -1)
{
printf("\n Stack is EMPTY");
exit(1);
}
v = s->bfr[s->top];
s->top -= 1 ;
return (v);
}
ARRSTACK.CPP
#include
#include
#include
#include "arrstack.h"
main()
{
stack *s1 ;
int n,v,i;
clrscr();
printf("\n enter the no. of elements in the stack:");
scanf("%d",&v);
s1 = makestack(v);
for(i=0;i< V;I++)
{
pushstack(s1,i+10);
}
for(i=0;i< V ;I++)
{
printf("\n Values no %d = %d",i,popstack(s1));
}
}
No comments:
Post a Comment