设从键盘输入一整数的序列:a1,a2,....,an,试编写算法实现:用栈结构存储输入的整数,当ai不等于-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。算法对应异常情况(入栈满等)给出相应信息
typedef struct
{
int data[max];
int top;
}SqStack;
void PushPop(SqStack &S)
{
int x=-1;
S.top=-1;
for(int i=0;i<n;i++)
{
scanf("%d",&x);
if(x!=-1)
{
if(top==max-1)
{
printf("栈已满!");
return;
}
else
{
S.data[++top]=x;
printf("元素%d入栈",x);
}
}
else
{
if(top==-1)
{
printf("栈为空!");
}
else
printf("元素%出队",S.data[top--]);
}
}
}