4顺序栈.cpp
来自「数据结构的C++表述」· C++ 代码 · 共 79 行
CPP
79 行
#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 + =
减小字号Ctrl + -
显示快捷键?