#include<stdio.h>
#include<stdlib.h>
#define Maxsize 100
typedef struct{
int data[Maxsize];
int top;
}seqstack;
void SetNULL(seqstack *sq)
{
sq->top=-1;
} //置空
int Empty(seqstack *sq)
{
if(sq->top==-1) return 1;
else return 0;
} //判断是否为空栈
seqstack *Push(seqstack *sq,int x)
{
if(sq->top==Maxsize-1)
{
printf("overflow\n");
return NULL;
}
else
{
sq->top++;
sq->data[sq->top]=x;
}
} //入栈
int Pop(seqstack *sq)
{
if(sq->top==-1)
{
printf("underflow\n");
return -1;
}
else
{
sq->top--;
return sq->data[sq->top+1];
}
} //出栈
int TOP(seqstack *sq)
{
if(Empty(sq))
{
printf("empty\n");
}
else
{
return sq->data[sq->top];
}
} //取栈顶
int main()
{
seqstack *s;
int i,n,x;
s=(seqstack*)malloc(sizeof(seqstack));
SetNULL(s);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
Push(s,x);
}
while(!Empty(s))
{
printf("%d ",Pop(s));
}
return 0;
}
(自用)栈 C语言
最新推荐文章于 2024-07-25 15:58:50 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)