I
# include
you can construct stack in easy way in C as following
#include<stdio.h>
# define MaxStack 10
int top=0;
void clearstack(int stack[MaxStack]);
int emptystack(int stack[MaxStack]);
int fullstack(int stack[MaxStack]);
void pushstack(int stack[MaxStack],int newelements);
void popstack(int stack[MaxStack],int *element);
void main()
{
int x,i,stack[MaxStack];
clearstack(stack);
for(i=0;i<MaxStack;i++)
{scanf("%d",&x);
pushstack(stack,x);
}
for(i=0;i<MaxStack;i++)
{
apopstack(stack,&x);
printf("%d\n",x);
}
}
void clearstack(int stack[MaxStack])
{
stack[top]=0;
return;
}
int emptystack(int stack[MaxStack])
{return (stack[top]==0);
}
int fullstack(int stack[MaxStack])
{
return (stack[top]==MaxStack)
;
}
void pushstack(int stack[MaxStack],int newelement)
{
stack[top]=stack[top]+1;
stack[stack[top]]=newelement;
}
popstack(int stack[MaxStack],int *element)
{
*element =stack[stack[top]];
stack [top]=stack[top]-1;
}
#include<stdio.h>
# define MaxStack 10
int top=0;
void clearstack(int stack[MaxStack]);
int emptystack(int stack[MaxStack]);
int fullstack(int stack[MaxStack]);
void pushstack(int stack[MaxStack],int newelements);
void popstack(int stack[MaxStack],int *element);
void main()
{
int x,i,stack[MaxStack];
clearstack(stack);
for(i=0;i<MaxStack;i++)
{scanf("%d",&x);
pushstack(stack,x);
}
for(i=0;i<MaxStack;i++)
{
apopstack(stack,&x);
printf("%d\n",x);
}
}
void clearstack(int stack[MaxStack])
{
stack[top]=0;
return;
}
int emptystack(int stack[MaxStack])
{return (stack[top]==0);
}
int fullstack(int stack[MaxStack])
{
return (stack[top]==MaxStack)
;
}
void pushstack(int stack[MaxStack],int newelement)
{
stack[top]=stack[top]+1;
stack[stack[top]]=newelement;
}
popstack(int stack[MaxStack],int *element)
{
*element =stack[stack[top]];
stack [top]=stack[top]-1;
}