基础算法(一)---抽象数据类型之栈(先进后出)

来源:互联网 发布:怎么在淘宝发布二手 编辑:程序博客网 时间:2024/05/11 12:04

栈(stack)是限制插入和删除只能在一个位置上进行的表,该位置是不要的末端,叫作栈顶(top)。

对栈的基本操作有:push(进栈)—插入、pop(出栈)—删除

栈是一个表,因此任何实现表的方法都能实现栈。显然,ArayList和linkedList都支持栈操作

1. 栈的链表实现

使用单链表实现,通过在表的顶端插入来实现push,通过删除表顶端元素实现pop,top操作只是考查顶端元素并返回它的值

2. 栈的数组实现

数组是更流行的解决方案

3.栈的应用

平衡符号(检验是否每个符号都成对出现)
后缀表达式(表达式以后缀记号给出时,没必要知道任何有限的规则)
中缀到后缀的转换(将一个标准形式的表达式转换为后缀表达式)
方法调用(当调用一个新方法时,主调例程的所以就不变了需要由系统存储起来)

0 0
原创粉丝点击