【数据结构与算法】栈ADT结构应用的例子

1、【平衡符号】:

做一个空栈。读入字符直到文件结尾。如果字符是一个开放符号,则将其推入栈中。如果字符是一个封闭符号,则当栈空时报错。否则,将栈元素弹出,如果弹出的符号不是对应的开放符号,则报错。在文件结尾,如果栈非空则报错。

2、【后缀表达式】
例如一个计算表示:4*1.6 + 5+6*1.6
写成后缀(逆波兰)记法为: 4 1.6 * 5 + 6 1.6 * +
计算这个问题最容易的方法是使用一个栈。当见到一个数时就把他推入栈中;在遇到一个运算符时该算符就作用于从该栈弹出的两个数(符号)shang ,再将所得结果推入栈中。

3、【中缀到后缀的转换】
这个算法的思想是,当看到一个操作符的时候,把他放到栈中。栈代表挂起的操作符。然而,栈中有些具有高优先级的操作符现在知道当他们不再被挂起时要完成使用,应该被弹出。这样,在把当前操作符放入栈中之前,那些在栈中并在当前操作符之前要完成使用的操作符被弹出。

4、【方法调用 】

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值