- 将表达式转换成列表
- 建立两个列表,一个存放操作符(stackOpt),一个存放已经遍历过得字符(stackPut)
*使用右向左遍历temp,if temp == ‘)’,则temp加入操作符栈stackOpt,if temp == 数字,则temp加入stackPut; - if temp == 左括号'(’,则从循环从操作符栈stackOpt弹出操作符并加入stackPut,直到弹出右括号'')";右括号不加入stackOpt;
- if temp in [+、-、*、],若stackOpt的栈顶为操作符,且运算优先级高于此时temp,则将stackOpt的栈顶元素弹出加入stackPut,否则,将temp加入stackPut
- 遍历结束后,将stackPut逆序输出,即为前缀表达式。
python 中缀表达式转换成前缀表达式
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 栈的一个实际需求 请输入一个表达式计算式:[722-5+1-5+3-3] 点击计算【如下图】需求图 请问: 计算机...
- 前言 最近开始刷题,真实地解决了大学时期“这黑窗口敲来敲去做数学题有卵用?”的困惑。有些东西之前学过,现在忘了,但...