美文网首页
数据结构之栈

数据结构之栈

作者: dongwenbo | 来源:发表于2017-04-05 14:49 被阅读21次

    栈:操作受限的线性表,后进先出
    栈的内部存储既可以用顺序表,也可以用链表,分别称作顺序栈和链栈。

    先来实现一个简单的顺序栈
    C++

    class MyStack {
        char *buffer;
        int size;
        int top;
    public:
        MyStack(int size);
        ~MyStack();
        bool stackEmpty();
        bool stackFull();
        void clearStack();
        int stackLength();
        void push(char elem);
        void pop(char &elem);
        void stackTraverse();
    };
    
    MyStack::MyStack(int size){
        buffer = new char[size];
        this->size = size;
        top = 0;
    }
    
    MyStack::~MyStack(){
        delete [] buffer;
    }
    
    bool MyStack::stackEmpty(){
        return top == 0;
    }
    
    bool MyStack::stackFull(){
        return top == size;
    }
    
    void MyStack::clearStack(){
        top = 0;
    }
    
    int MyStack::stackLength(){
        return top; 
    }
    
    void MyStack::push(char elem){
        buffer[top++] = elem;
    }
    
    void MyStack::pop(char &elem){
        elem = buffer[--top];
    }
    
    void MyStack::stackTraverse(){
        for (int i=0; i<top; i++) {
            std::cout<<buffer[i]<<std::endl;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:数据结构之栈

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