数据结构与算法分析(c++版) #7 栈

来源:互联网 发布:网络女主播真实收入 编辑:程序博客网 时间:2024/06/05 08:42

       栈(stack)是限定仅在一端插入或删除的线性表。虽然这个限制减小了栈的灵活性,但也使得栈更有效且更容易实现。许多应用都只需要栈提供受限制的插入和删除操作形式,在这种情况下使用较简单的栈比使用一般的线性表更有效。

       栈遵守“后进后出”(Last In First Out)的原则,这意味着栈存储和删除元素的顺序与元素到达的顺序相反。习惯上称栈的可访问元素为栈顶(top)元素,元素插入栈称为入栈(push),删除元素时成为出栈(pop)。

       下面代码定义了栈ADT:

template <class Elem> class Stack{public://      清空栈内的元素virtual void clear() = 0;//入栈virtual bool push(const Elem&) = 0;//出栈virtual bool pop(Elem&) = 0;//获取栈顶元素的值virtual bool topValue(Elem&) const = 0;//获取栈的元素个数virtual int length() const = 0;};


0 0
原创粉丝点击