#include<iostream>
using namespace std;
typedef struct {
int *base;
int *top;
}SqStack;
void DestroyStack(SqStack &s)//摧毁栈
{
delete s.base;
}
int Push(SqStack &s,int e)//向栈中压入数据
{
*s.top++ =e;
}
int pop(SqStack &s)//删除栈中元素
{
int e;
if(s.top==s.base)
{
return -1;
}
else
{
s.top--;
e= *s.top;
}
return e;
}
int GetTop(SqStack s)//返回栈顶元素
{
return *(s.top-1);
}
bool empty(SqStack s) //判断栈是为空
{
if(s.base==s.top)
{
return false;
}
else
{
return true;
}
}
int main()
{
SqStack s;
s.base=new int[100];
s.top=s.base;
int n;
for(int i=0;i<5;i++)
{
cin>>n;
Push(s,n);
}
// int *p;
// p=s.base;
// while(p<s.top)
// {
// cout<<*p<<endl;
// p++;
// }
while(empty(s))
{
int t=pop(s);
cout<<t<<" ";
}
cout<<endl;
}
栈(C++)
最新推荐文章于 2022-09-17 11:29:12 发布