栈的基本实现

来源:互联网 发布:深圳海关 知乎 编辑:程序博客网 时间:2024/05/18 12:30

        栈从逻辑结构上说,属于线性结构的范畴,但和线性表不同的是,栈所支持的基本操作是受到限制的,因此栈是一种限定性的数据结构。

        栈的基本操作受到限制,体现为它对数据元素的操作顺序,栈的数据元素具有后进先出的特性。

        栈的基本操作包括入栈和出栈,栈的顶部和尾部分别用栈顶和栈底标注,如果一个栈是空栈,那么它的的栈顶等于栈底,一般情况下,栈底总是等于-1,栈顶等于元素个数-1

        栈的顺序存储实现

        这个很简单,就是一个数组,并用一个指针(栈顶的引用)top来标志栈顶。栈的基本操作只能在栈顶执行,因此所有基本的操作的时间复杂度都为O(1)。

        栈的链式存储实现

        这里不再描述,实现非常简单。值得注意的是,在Java语言中,Stack(栈)这个类是继承于Vector的,也就是说,Java中的栈这个类是通过顺序存储实现的。

0 0
原创粉丝点击