【8563】试编写算法,采用顺序存储实现栈的初始化,入栈,出栈操作。要求输入整形数据,输入0表示结束。
#include<bits/stdc++.h>
using namespace std;
#define MAX 100000
typedef struct {
int top;
int bottom;
int data[MAX];
} MyStack;
void InitStack(MyStack &st){
st.top=0;
st.bottom=0;
memset(st.data,0,sizeof(st.data));
}
int StackPop(MyStack &st){
if(st.top!=st.bottom){
st.top--;
return st.data[st.top+1];
}
}
void StackPush(MyStack &st,int data){
st.top++;
st.data[st.top]=data;
}
int main()
{
MyStack st;
InitStack(st);
int data;
cin>>data;
while(data!=0){
StackPush(st,data);
cin>>data;
}
while(st.top!=st.bottom){
cout<<StackPop(st)<<" ";
}
return 0;
}
转载:https://blog.csdn.net/weixin_43908626/article/details/102405838
查看评论