算法笔记–简单实现栈的先入后出(FILO,First In Last Out)功能
stack 栈,是一个 先入后出(FILO,First In Last Out)的 有序列表,可以形象地理解为手枪的弹匣,装子弹是入栈,打枪是出栈。
主要概念:
- 栈顶(Top):允许插入和删除的一端,为 变化的一端。称为栈顶
- 栈底(Bottom):另一端为 固定的一端,称为栈底
单向链表如图所示:

解题:栈的实现可以用数组、链表来实现
- 定义一个数据存储类型,栈顶指针
- 入栈:栈顶指针++
- 出栈:栈顶指针–
栈的优点:
- 子程序的调用方便:在跳往子程序前,会先将上下文信息压到堆栈中,直到子程序执行完后再将上下文信息弹出并恢复。
- 处理递归调用
- 二叉树的遍历
- 图形的深度优先(depth-first)搜索法
案例实践
public class SimpleStack {
public static void main(String[] args) {
MyArrayStack myArrayStack = new MyArrayStack<String>(new String[100]);
myArrayStack.push("hello");
myArrayStack.push

最低0.47元/天 解锁文章
1314

被折叠的 条评论
为什么被折叠?



