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 + -
显示快捷键?