標籤:style blog http color os io for 2014
/************************************************************************* > File Name: 1.cpp > Author: > Mail: > Created Time: 2014年08月03日 星期日 08時27分22秒 ************************************************************************/#include<iostream>#include <stack>using namespace std;int book(char c1){ if(c1==‘+‘||c1==‘-‘) return 1; if(c1==‘*‘||c1==‘/‘) return 2; return -1;}int main(){ int num; stack<char> s; string str; cin>>num; while(num--) { str =""; cin>>str; str.append(1,‘#‘); for(unsigned int i =0;i<str.length();i++) { switch (str[i]) { case ‘#‘: while(!s.empty()) { cout<<s.top(); s.pop(); } break; case ‘(‘: s.push(‘(‘); break; case ‘)‘: while(s.top()!=‘(‘) { cout<<s.top(); s.pop(); } s.pop(); break; default: if(str[i]>=‘0‘&&str[i]<=‘9‘) cout<<str[i]; else { if(s.empty()) { s.push(str[i]); } else if(book(s.top()) >= book(str[i])) { while(!s.empty()&&book(s.top())>=book(str[i])) { cout<<s.top(); s.pop(); } s.push(str[i]); } else { s.push(str[i]); } } break; } } cout<<endl; } return 0;}
棧的應用,不過規則挺多的,浪費我好長時間。。參考這個http://blog.163.com/kevinlee_2010/blog/static/1698208202011102510740979/