![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
或与非'
计科4
展开
-
中缀表达式转后缀表达式(C++实现)
对前缀表达式转后缀表达式符合以下规则需要一个辅助的符号栈存储暂时不能确定顺序的运算符1)后缀与前缀表达式中运算数顺序是不会变的从左往右读:2)遇到操作数直接加入后缀表达式3)遇到界限符'('压入符号栈,当遇到')'时弹出运算符加入后缀表达式直到'('弹出为止`括号是不加入后缀表达式的`4)遇到运算符,弹出栈中优先级高于或等于的运算符加入后缀表达式,直到栈空或遇到'('停止,`再将此运算符加入符号栈`5)当运算公式全部读完,再将符号栈中符号依次弹出中缀表达式求值需要分两步 中缀转后缀,后缀原创 2020-10-29 11:03:26 · 3436 阅读 · 3 评论 -
数据结构-栈(括号匹配问题)
问题引入;表达式中每一个左括号都会和一个右括号相匹配,不然就会报错;当读一串表达式例如(a+b)*c+(d-p)利用栈存储特点(先进后出,这里更准确的是后进先出)在对上面表达式进行读取的时候,有以下步骤读取时:1)遇到左括号`(`就入栈2)遇到右括号`)`且栈非空就从栈中弹出一个左括号`(`与其匹配 若栈空则右括号')'多全部读取完:3)对栈进行判断若非空则左括号'('多 若栈空则括号匹配#include<iostream>using namespace std;原创 2020-10-17 15:53:33 · 652 阅读 · 1 评论