SDUT OJ 数据结构实验之栈二:一般算术表达式转换成后缀式

来源:互联网 发布:二手租赁平java源码 编辑:程序博客网 时间:2024/05/17 06:45

#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;}


 

0 0