美文网首页
栈(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