代码改变世界

数据结构-栈

2019-03-21 16:30  般若Android  阅读(294)  评论(0编辑  收藏  举报

  栈是比数组和其他数据存储结构更为抽象的结构

  主要通过接口对栈进行定义,这些接口表明通过他们可以完成的操作,而它们的具体实现机制对用户来说是不可见的

  

  栈是最常用的和最重要的数据结构之一,栈是一种只能在一端插入或删除操作的线性表。表中允许进行插入,删除操作的一端称为栈顶,栈顶的当前位置是动态的,表的另一端是栈低。栈中没有数据时,称为空栈,栈的插入操作通常称为压栈进栈,栈的删除操作通常称为退栈出栈

  栈的主要特点是“后进先出”,即后进栈的元素先弹出。每次进栈的数据元素都放在当前栈顶元素之前成为新的栈顶元素,每次出栈的数据元素都是当前栈顶元素,栈也被成为后进先出表

  栈的存储结构可以是顺序存储结和链式存储结构

  StackManager项目中分别用顺序存储结构和链式存储结构来描述栈