从入门到入坑 2020-01-20 22:27 采纳率: 100%
浏览 929
已采纳

小白求问?c++ STL stack top()是不是不能访问空栈?

如题
另外,能不能给个较全的c++的参考手册
zszszszszszszszszszszszszszszszszszszszs

  • 写回答

1条回答 默认 最新

  • perry_lin2 2020-01-21 10:38
    关注

    一些小问题可以通过实验解决,另外,给你一些栈的函数

    #include<stack>
    定义:stack <数据类型> stk(栈名称,这里用stk);
    放入元素:stk.push(元素);
    获取栈顶元素:stk.top();
    释放栈顶元素:stk.pop();//他不会返回元素!!!
    栈是否为空:stk.empty();//返回bool类型
    栈大小:stk.size();
    
    

    可以自己写一个stack.h文件

    #include<iostream>
    #define maxn 1100
    using namespace std;
    struct stack
    {
        int Q[maxn];
        int top=0;
        void push(int x)
        {
            Q[top++]=x;
        }
        void pop()
        {
          if(!empty()) top--;
        }
        int get()
        {
            return !empty()?Q[top-1]:-1;
        }
        bool empty()
        {
            return top==0;
        }
    };
    

    仅能用int类型

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月10日