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

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

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

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

1. 栈的链表实现

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

2. 栈的数组实现

数组是更流行的解决方案

3.栈的应用

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值