#include <iostream>
using namespace std;
//顺序栈的实现
const int StackSize = 10;
class SeqStack
{
public :
SeqStack();
void push(int x);
int pop();
int Getpop();
int empty();
private:
int date[StackSize];
int top;
};
SeqStack :: SeqStack()
{
top = -1;
}
void SeqStack :: push(int x)
{
if(top==StackSize-1) cout<<"栈满"<<endl;
date[++top] = x;
}
int SeqStack :: pop()
{
int x;
if (top == -1) cout<<"栈空"<<endl;
x= date[top];
top--;
return x;
}
int SeqStack :: Getpop()
{
return date[top];
}
int SeqStack :: empty()
{
if(top==-1) return 1;
}
int main()
{
SeqStack S ;
cout<<"对5个数执行入栈操作"<<endl;
int a ,b ,c ,d ,e ;
cin>>a>>b>>c>>d>>e;
S.push(a);S.push(b);S.push(c);S.push(d);S.push(e);
cout<<"当前栈顶元素为:"<<S.Getpop()<<endl;
int x;
x = S.pop();
cout<<"执行一次出栈操作:"<<x<<endl;
cout<<"判断栈是否为空"<<endl;
if(S.empty()==1) cout<<"栈空"<<endl;
else cout<<"栈非空"<<endl;
return 0;
}
顺序栈
最新推荐文章于 2024-01-15 13:23:47 发布