数据结构堆栈总结

堆栈是抽象数据结构,是一组相同数据类型的组合,所有的操作均在堆栈顶端进行,具有“后进先出”(LIFO)的特性。堆栈结构在计算机中的应用相当广泛,时常被用来解决计算机的问题,例如递归调用,子程序的调用等。
特性:
只能从堆栈的顶端存取数据。
数据的存取符合“后进先出”的原则。
基本运算:
create:创建一个空堆栈。
push:把数据存压入堆栈顶端,并返回新堆栈。
pop:从堆栈顶端弹出数据,并返回新堆栈。
IsEmpty:判断堆栈是否为空堆栈,是则返回true,不是返回false。
full:判断堆栈是否已满,是则返回true,不是则返回false。
堆栈的应用:
堆栈在计算机领域的应用相当广泛,主要特性是限制了数据插入与删除的位置和方法,属于有序表的应用,堆栈的各种应用列举如下:
1.二叉树和森林的遍历,例如中序遍历,前序遍历等。
2.计算机中央处理单元的中断处理。
3.图形的深度优先查找法(DFS)。
4.堆栈计算机:采用空地址指令,其指令没有操作数,大部分操作都通过弹出和压入两个指令来处理程序的计算机。
5.当从递归返回时,则按序从堆栈顶端取出这些相关值,回到原来执行递归前的状态,再往下继续执行。
6。算数表达式的转换和求值,例如中序法转换成后序法。
7.调用子程序和返回处理,例如在执行调用的子程序之前,必须先将返回的地址(即下一个指令的地址)压入堆栈中,然后才开始执行调用子程序的操作,等到子程序执行完毕后,再从堆栈中弹出返回地址。
8.编译错误处理:例如当编辑程序发生错误或警告信息时,会将所在的地址压入堆栈中之后,才会显示出错误相关的信息对照表。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值