题解 | #【模板】栈#

【模板】栈

https://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf

#include <iostream>
#include <string>
using namespace std;

class stack {
  private:
    int* data;
    int count;
  public:
    stack() {
        count = 0;
        data = new int[100000];
    }
    bool empty() {
        if (count == 0) {
            return true;
        }
        return false;
    }
    bool full() {
        if (count == 100000) {
            return true;
        }
        return false;
    }
    void push(int num) {
        if (full()) {
            cout << "error" << endl;
            return;
        }
        data[count] = num;
        count++;
    }
    void pop() {
        if (empty()) {
            cout << "error" << endl;
            return;
        }
        count--;
        cout << data[count] << endl;
    }
    void top() {
        if (empty()) {
            cout << "error" << endl;
            return;
        }
        cout << data[count - 1] <<endl;;
    }

};

int main() {
    stack s;
    string opt;
    int in;
    cin >> in;
    while (in--) {
        cin >> opt;
        if (opt == "push") {
            int num;
            cin >> num;
            s.push(num);
        } else if (opt == "pop") {
            s.pop();
        } else if (opt == "top") {
            s.top();
        }
    }
}

全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务