小言_互联网的博客

【8563】试编写算法,采用顺序存储实现栈的初始化,入栈,出栈操作。要求输入整形数据,输入0表示结束。

533人阅读  评论(0)

【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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场