美文网首页
栈(Stack)

栈(Stack)

作者: LOOOOD | 来源:发表于2018-01-16 15:34 被阅读0次

    概念

    栈中可操作的一端更多地称作栈顶(stack top),而另一无法直接操作的盲端则更多地称作栈底(stack bottom),以后进先出(last-in-first-out, LIFO)为原则。

    实现(继承向量接口)

    public class Stack{
    void push(T e){
    insert(size(),e);
    }//入栈
    T pop(){
    return remove(size()-1);
    }//出栈
    T top(){
    return ((*this)[size() - 1]);
    }//返回顶端元素值
    }
    

    栈操作都是在向量的末端进行操作,即操作的元素没有后继元素,所以上述操作都在常数时间复杂度O(1)内完成,试想若将向量的头端作为栈的顶端进行操作,则上述操作的时间复杂度为O(n),效率远不如之前.

    栈的应用

    相关文章

      网友评论

          本文标题:栈(Stack)

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