📄 4顺序栈.cpp
字号:
#include <iostream.h>
#define MaxSize 100
struct stack
{
int data[MaxSize];
int top;
};
int Push_SeqStack(stack *s,int x)
{
if(s->top==MaxSize-1)
return 0;
else
{
s->top++;
s->data[s->top]=x;
return 1;
}
}
int Pop_SeqStack(stack *s,int *x)
{
if(s->top==-1)
{
cout<<"栈内无元素!!"<<endl;
return 0;
}
else
{
*x=s->data[s->top];
s->top--;
return 1;
}
}
stack *Create_SeqStack()
{
int x;
stack *p;
p=new stack;
p->top=-1;
cout<<"输入数据,以-1结束:"<<endl;
cin>>x;
while(x!=-1)
{
Push_SeqStack(p,x);
cin>>x;
}
return p;
}
void Print(stack *s)
{
stack *p;
p=new stack;
int x;
*p=*s;
cout<<"顺序栈中的数据为(从栈顶到栈底):"<<endl;
while(p->top!=-1)
{
Pop_SeqStack(p,&x);
cout<<x<<" ";
}
cout<<endl;
}
void main()
{
stack *t;
int x;
t=Create_SeqStack();
Print(t);
cout<<"请输入你要输入栈的数据:";
cin>>x;
Push_SeqStack(t,x);
Print(t);
cout<<"栈顶元素出栈"<<endl;
Pop_SeqStack(t,&x);
Print(t);
cout<<"栈顶元素再出栈"<<endl;
Pop_SeqStack(t,&x);
Print(t);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -