首页 > 代码库 > SDUT OJ 数据结构实验之栈二:一般算术表达式转换成后缀式
SDUT OJ 数据结构实验之栈二:一般算术表达式转换成后缀式
#include<iostream> using namespace std; int youxian(char s) { if(s=='+'||s=='-') return 1; else if(s=='*'||s=='/') return 2; else if(s=='(') return 3; else if(s==')') return 4; } int main() { int top=0; char s,b[110]; while(cin>>s && s!='#') { if(s>='a' && s<='z') cout<<s; else { if(top==0) { b[top++]=s; } else { if(youxian(s)>youxian(b[top-1])) { if(youxian(s)==4) { while(b[top-1]!='(') { cout<<b[--top]; } top--; } else { b[top++]=s; } } else { if(b[top-1]=='(') { b[top++]=s; } else { cout<<b[top-1]; b[top-1]=s; } } } } } while(top!=0) { cout<<b[top-1]; top--; } cout<<endl; return 0; }
SDUT OJ 数据结构实验之栈二:一般算术表达式转换成后缀式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。