美文网首页
【数据结构】栈(stack)的C++实现

【数据结构】栈(stack)的C++实现

作者: Roc_J | 来源:发表于2016-07-11 22:04 被阅读0次
    #include <iostream>
    using namespace std;
    
    const int MAX=5; //栈中最多保存5个数据
    class stack {
    public:
     void init(void) { top=0;} //初始化函数
     void push(int x); //入栈函数
     int pop(void); //出栈函数
     int gettop() { return top;} //获取栈顶指针
    private:
     int num[MAX]; //存放栈的数组
     int top; //栈顶指针
     bool isfull() {
     return top==MAX?true:false;
     }
     bool isempty() {
     return top==-1?true:false;
     }
    };
    
    void stack::push(int x) {
     if(isfull()) {
     cout << "Stack is full!" << endl;
     return;
     };
     num[top]=x;
     top++;
    }
    
    int stack::pop(void) {
     top--;
     if(isempty()) {
     cout << "Stack is empty!" << endl;
     return 0;
     };
     return num[top];
    }
    
    int main() {
     stack s;
     s.init();
     s.push(1);
     s.push(2);
     s.push(3);
     s.push(4);
     s.push(5);
     for(int i=0; i<3; i++)
     cout << s.pop() << endl;
     cout << endl;
    
     s.push(3);
     s.push(4);
     s.push(5);
     s.push(6);
     cout << endl;
    
     for(i=0; i<5; i++)
     cout << s.pop() << endl;
     s.pop();
     return 0;
    }
    

    相关文章

      网友评论

          本文标题:【数据结构】栈(stack)的C++实现

          本文链接:https://www.haomeiwen.com/subject/hhpjjttx.html