维基百科:
堆栈(英语:stack),也可直接称栈。台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆叠顶端指标,英语:top)进行加入资料(英语:push)和输出资料(英语:pop)的运算。另外堆叠也可以用一维阵列或连结串行的形式来完成。堆叠的另外一个相对的操作方式称为伫列。
由于堆叠数据结构只允许在一端进行操作,因而按照后进先出(LIFO,Last In First Out)的原理运作。
堆叠数据结构使用两种基本操作:推入(push)和弹出(pop):
- 推入:将数据放入堆叠的顶端(阵列形式或串行形式),堆叠顶端top指标加一。
- 弹出:将顶端数据资料输出(回传),堆叠顶端资料减一。
另外堆栈的其他应用:
(2)深度优先搜索。
(3)回溯算法。