分享好友 资讯首页 资讯分类 切换频道
【数据结构与算法 6】栈实现综合计算器
2024-12-16 09:49  浏览:79

(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

1、子程序的调用

在调往子程序前,会先将下个指令的地址存放到堆栈中,直到子程序执行完后再将地址抛出,以回到原来的程序。

2、处理递归调用

和子程序的调用类似,除了村下个指令的地址外,还要存放参数,区域变量等数据。

3、表达式的转换

【数据结构与算法 6】栈实现综合计算器

中缀表达式转后缀表达式

4、二叉树的遍历

5、图形的深度优先搜索法

1、思路分析

  • 通过一个index值(索引,来遍历我们的表达式
  • 如果发现是一个数字直接入数栈
  • 如果发现当前的符号栈是空,就直接入栈
  • 如果发现符号栈有操作符,就进行比较,如果当前的操作符的优先级小于或等于栈中的操作符,就需要从数栈中pop出一个符号,进行运算,将得到结果,入数栈,然后将当前的操作符入符号栈,如果当前的操作符的优先级大于栈中的操作符,就直接入符号栈。
  • 当表达式扫描完毕,就顺序的从数栈和符号栈中pop出相应的数和符号,并进行运算。
  • 最后在数栈中只有一个数字,就是表达式的结果。

2、代码实例

(1)ArrayStack工具类

 

(2)测试类

 

3、控制台输出

    以上就是本篇文章【【数据结构与算法 6】栈实现综合计算器】的全部内容了,欢迎阅览 ! 文章地址:http://w.yusign.com/news/625.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 述古往 http://w.yusign.com/mobile/ , 查看更多   
最新新闻
小花分期统一客服电话-小花分期人工客服服务热线电话
小花分期全国人工24小时客服电话;00861-52707-22671,二线:00861-78796-93757—请注意,在拨打客服电话时,请保持耐心并详细描
悦分期全国客服电话是多少-悦分期强制下款怎么解决
悦分期全国人工24小时客服电话;00861-52707-22671,二线:00861-78796-93757—请注意,在拨打客服电话时,请保持耐心并详细描述
广源优品全国客服电话是多少-广源优品强制下款怎么解决
广源优品全国人工24小时客服电话;00861-52707-22671,二线:00861-78796-93757—请注意,在拨打客服电话时,请保持耐心并详细描
广源优品全国客服电话是多少-广源优品强制下款怎么解决
获取全网一手热点首页新闻无障碍金融街论坛丨持续提升巨灾保险保障水平2024金融街论坛年会观察v新华网2024年10月21日15:25北京新
众享贷全国客服电话是多少-众享贷强制下款怎么解决
获取全网一手热点首页新闻无障碍金融街论坛丨持续提升巨灾保险保障水平2024金融街论坛年会观察v新华网2024年10月21日15:25北京新
来趣花全国客服电话全新升级-来趣花24小时在线客服电话
来趣花全国人工24小时客服电话00861-52971-57932二线00861-56399-67714【来趣花:金融创新与普惠金融的双刃剑】在当今快速发展的
米来花全国客服电话全新升级-米来花24小时在线客服电话
米来花全国人工24小时客服电话00861-52971-57932二线00861-56399-67714【米来花:金融创新与普惠金融的双刃剑】在当今快速发展的
微米花贝全国客服电话全新升级-微米花贝24小时在线客服电话
微米花贝全国人工24小时客服电话00861-52971-57932二线00861-56399-67714【微米花贝:金融创新与普惠金融的双刃剑】在当今快速发
享趣花呗全国客服电话全新升级-享趣花呗24小时在线客服电话
享趣花呗全国人工24小时客服电话00861-52971-57932二线00861-56399-67714【享趣花呗:金融创新与普惠金融的双刃剑】在当今快速发
鱼享花全国客服电话全新升级-鱼享花24小时在线客服电话
鱼享花全国人工24小时客服电话00861-52971-57932二线00861-56399-67714【鱼享花:金融创新与普惠金融的双刃剑】在当今快速发展的