#include <stdio.h>
#define MAX 6
typedef struct
{
int element[MAX];
int index;
}Stack;
int InitStack(Stack *s)
{
s->index=0;
return 1;
}
int IsFull(Stack *s)
{
if(s->index==MAX)
{
return 1;
}
else
{
return 0;
}
}
int IsEmty(Stack *s)
{
if(s->index==0)
{
return 1;
}
else
{
return 0;
}
}
int Push(Stack *s,int elements)
{
if(IsFull(s))
{
return 0;
}
else
{
s->element[s->index]=elements;
s->index++;
return 1;
}
}
int Pop(Stack *s,int *elements)
{
if(IsEmty(s))
{
return 0;
}
else
{
s->index--;
*elements=s->element[s->index];
return 1;
}
}
int main()
{
struct Stack *p;
int element=0;
p=(Stack *)malloc(sizeof(Stack));
InitStack(p);
for(int i=0;i<10;i++)
{
if(!Push(p,i))
{
printf("Stack is Full\n");
break;
}else
{
printf("%d Push to stack\n",i);
}
}
for(int i=0;i<10;i++)
{
if(!Pop(p,&element))
{
printf("Stack is Empty\n");
break;
}else
{
printf("%d is Pop out\n",element);
}
}
}
#define MAX 6
typedef struct
{
int element[MAX];
int index;
}Stack;
int InitStack(Stack *s)
{
s->index=0;
return 1;
}
int IsFull(Stack *s)
{
if(s->index==MAX)
{
return 1;
}
else
{
return 0;
}
}
int IsEmty(Stack *s)
{
if(s->index==0)
{
return 1;
}
else
{
return 0;
}
}
int Push(Stack *s,int elements)
{
if(IsFull(s))
{
return 0;
}
else
{
s->element[s->index]=elements;
s->index++;
return 1;
}
}
int Pop(Stack *s,int *elements)
{
if(IsEmty(s))
{
return 0;
}
else
{
s->index--;
*elements=s->element[s->index];
return 1;
}
}
int main()
{
struct Stack *p;
int element=0;
p=(Stack *)malloc(sizeof(Stack));
InitStack(p);
for(int i=0;i<10;i++)
{
if(!Push(p,i))
{
printf("Stack is Full\n");
break;
}else
{
printf("%d Push to stack\n",i);
}
}
for(int i=0;i<10;i++)
{
if(!Pop(p,&element))
{
printf("Stack is Empty\n");
break;
}else
{
printf("%d is Pop out\n",element);
}
}
}