算法学习笔记(12)——栈

数组模拟栈

题目链接:AcWing 828. 模拟栈

#include <iostream>

using namespace std;

const int N = 100010;

int n;
int stk[N], tt;

void push(int x) { stk[++ tt] = x; }

void pop() { tt --; }

bool empty() { return tt == 0; }

int query() { return stk[tt]; }

int main()
{
    cin >> n;
    
    while (n -- ) {
        string op;
        cin >> op;
        if (op == "push") {
            int x;
            cin >> x;
            push(x);
        }
        else if (op == "pop") pop();
        else if (op == "empty") {
            if (empty()) puts("YES");
            else puts("NO");
        }
        else {
            cout << query() << endl;
        }
    }
    
    return 0;
}
posted @ 2022-12-09 22:06  S!no  阅读(17)  评论(0编辑  收藏  举报