算法笔记--简单实现栈的先入后出(FILO,First In Last Out)功能

算法笔记–简单实现栈的先入后出(FILO,First In Last Out)功能

stack 栈,是一个 先入后出(FILO,First In Last Out)的 有序列表,可以形象地理解为手枪的弹匣,装子弹是入栈,打枪是出栈。

主要概念

  • 栈顶(Top):允许插入和删除的一端,为 变化的一端。称为栈顶
  • 栈底(Bottom):另一端为 固定的一端,称为栈底

单向链表如图所示:

在这里插入图片描述

解题:栈的实现可以用数组、链表来实现

  1. 定义一个数据存储类型,栈顶指针
  2. 入栈:栈顶指针++
  3. 出栈:栈顶指针–

栈的优点:

  • 子程序的调用方便:在跳往子程序前,会先将上下文信息压到堆栈中,直到子程序执行完后再将上下文信息弹出并恢复。
  • 处理递归调用
  • 二叉树的遍历
  • 图形的深度优先(depth-first)搜索法

案例实践

public class SimpleStack {
   
   

    public static void main(String[] args) {
   
   
        MyArrayStack myArrayStack = new MyArrayStack<String>(new String[100]);
        myArrayStack.push("hello");
        myArrayStack.push
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值