栈的应用之表达式转换
发布日期:2021-06-29 15:42:38
浏览次数:2
分类:技术文章
本文共 1195 字,大约阅读时间需要 3 分钟。
1.中缀表达式转后缀表达式
void infixToPostFix(char exp[],char s2[],int &top2){ char s1[maxsize];int top1=-1; int i=0; while(exp[i]!='\0') { if(exp[i]>='0'&&exp[i]<='9') { s2[++top2]=exp[i]; i++; } else if(exp[i]=='(') { s1[++top1]='('; i++; } else if(exp[i]=='+'||exp[i]=='-'||exp[i]=='*'||exp[i]=='\') { if(top1==-1||s1[top1]=='('||getPriority(exp[i])>getPriority(s1[i])) { s1[++top1]=exp[i]; i++; } else { s2[++top2]=s1[top1--]; } } else if(infix[i]==')') { while(s1[top1]!='(') s2[++top2]=s1[top1--]; --top1; ++i; while(top1!=-1) s2[++top2]=s1[top1--]; } }}
2.中缀表达式转前缀表达式
void infixToPreFix(char infix[],int len,char s2[],int *&top2){ char s1[maxsize];int top1; int i=len-1; while(i>0) { if(exp[i]>='0'&&exp[i]<='9') { s2[++top2]=exp[i];i--; } else if(exp[i]==')') { s1[++top1]=')';i--; } else if(exp[i]=='+'||exp[i]=='-'||exp[i]=='*'||exp[i]=='\') { if(top1==-1||s1[top1]==')'||getPriority(infix[i])>=getPriority(s1[top1])) { s1[++top1]=infix[i];i--; } else s2[++top2]=s1[top1--]; } else if(infix[i]=='(') { while(infix[i]==')') s2[++top2]=s1[top1--]; --top1; --i; } } while(top1!=-1) s2[++top2]=s1[top1--];}
转载地址:https://codingchaozhang.blog.csdn.net/article/details/85256375 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月07日 15时37分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
电赛 | 19年全国一等奖,北航学子回忆录(上)
2019-04-29
电赛 | 19年全国一等奖,北航学子回忆录(下)
2019-04-29
突破!台积电1nm芯片,有了新进展。
2019-04-29
一文读懂全系列树莓派!
2019-04-29
自制一个害羞的口罩,见人就闭嘴,戴着可以喝奶茶
2019-04-29
聊聊我是如何编程入门的
2019-04-29
J-Link该如何升级固件?
2019-04-29
485通信自动收发电路,历史上最详细的解释
2019-04-29
【视觉盛宴三】不好意思,这些线材接口的横截面真的没见过
2019-04-29
一位头发发白的神人教你怎么写程序,运维,买电脑,写文章,平面设计!
2019-04-29
【第二期】那些设计漂亮、有创意的电路板!
2019-04-29
【第三期】那些设计漂亮、有创意的电路板!
2019-04-29
继续推荐公众号~
2019-04-29
「第二篇」全国一等奖,经验帖。
2019-04-29
「第三篇」全国电子设计竞赛,这些你必须知道的比赛细节,文末附上近十年电赛题目下载...
2019-04-29
5G小科普(漫画版,So easy!)
2019-04-29
无人再提华强北
2019-04-29
千万不要小瞧那些不好好写代码的程序员
2019-04-29
80后,天才程序员, Facebook 第一任 CTO,看看开挂的人生到底有多变态?
2019-04-29
「第四篇」电赛控制题可以准备一些什么?
2019-04-29