中缀表达式转换成后缀表达式

来源:互联网 发布:淘宝店仓库管理制度 编辑:程序博客网 时间:2024/05/16 15:19
#include<iostream>#include<vector>#include<stack>#include<string>#include<map>using namespace std;map<char,int> level;void init(){    level['+']=0;    level['-']=0;    level['*']=1;    level['/']=1;    level['(']=2;    level[')']=2;}string tran(const string &arr){    init();    string result;    stack <char> s;        for(auto &e:arr){    if(e<='z'&&e>='a')            result.push_back(e);else if(e==')'){    while(s.top()!='('){result.push_back(s.top());s.pop();    }    s.pop();}else{    while(!s.empty()&&s.top()!='('&&level[e]<level[s.top()]){result.push_back(s.top());                s.pop();    }    s.push(e);}}        while(!s.empty()) {    result.push_back(s.top());    s.pop();}    return result;}

0 0