#include<iostream>
using namespace std;
typedef int ElemType;
typedef int Status;
#define MAXSIZE 10
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef struct
{
ElemType data[MAXSIZE];
int top;
}SqStack;
//入栈
Status Push(SqStack *S,ElemType e)
{
if(S->top==MAXSIZE-1)
{
cout<<"栈满"<<endl;
return ERROR;
}
S->top++;
S->data[S->top]=e;
return OK;
}
void inItStack(SqStack *S)
{
S->top=-1;
}
//出栈
Status Pop(SqStack *S,ElemType *e)
{
if(S->top==-1)
{
cout<<"栈空"<<endl;
return ERROR;
}
*e=S->data[S->top];
S->top--;
return OK;
}
int main()
{
SqStack s;
inItStack(&s);
int m,n;
cout<<"输入压栈元素数目:"<<endl;
cin>>m;
cout<<"输入压栈元素:"<<endl;
for(int i=0;i<m;i++)
{
cin>>n;
Push(&s,n);
}
int h=1;
cout<<"输出出栈元素:"<<endl;
while(s.top!=-1)
{
Pop(&s,&h);
cout<<h<<" ";
}
cout<<endl;
}
数据结构那点事--栈(顺序结构实现)
最新推荐文章于 2024-07-20 14:45:25 发布