侧边栏壁纸
  • 累计撰写 49 篇文章
  • 累计创建 5 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Administrator
2024-08-23 / 0 评论 / 0 点赞 / 8 阅读 / 1629 字
温馨提示:
本文最后更新于 2024-08-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

#include <iostream>
using namespace std;

//栈的最大容量
const int MAXSIZE = 100; 

//结构体定义 
struct Stack {
    int data[MAXSIZE];
    int top;
};

//初始化栈
void init(Stack& s) {
    s.top = -1;
}

//判断栈是否为空
bool empty(Stack& s) {
    return s.top == -1;
}

//判断栈是否已满
bool full(Stack& s) {
    return s.top == MAXSIZE - 1;
}

//入栈
void push(Stack& s, int value) {
    if (full(s)) {
        cout << "栈已满" << endl;
        return;
    }
    s.top++;
    s.data[s.top] = value;
}

//出栈
void pop(Stack& s) {
    if (empty(s)) {
        cout << "栈为空" << endl;
        return;
    }
    s.top--;
}

//获取栈顶元素
int top(Stack& s) {
    if (empty(s)) {
        cout << "栈为空" << endl;
        return -1;
    }
    return s.data[s.top];
}

//输出栈中所有元素
void print(Stack& s) {
    cout << "栈中所有元素:";
    for (int i = s.top; i >= 0; i--) {
        cout << s.data[i] << " ";
    }
    cout << endl;
}
0

评论区