知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式一圖秒殺
發(fā)表時(shí)間:2020-10-19
發(fā)布人:葵宇科技
瀏覽次數(shù):44
大年夜功課請(qǐng)求寫個(gè)中綴表達(dá)式轉(zhuǎn)后綴表達(dá)式,結(jié)不雅發(fā)明視頻瑯綾擎給的解法是個(gè)錯(cuò)的,網(wǎng)上找了一大年夜堆,各類說法都有,公說公有理婆說婆有理,花里胡哨的,看著也復(fù)雜的一匹,說的話旁敲側(cè)擊的,看幾下就開端看不懂了,研究到凌晨終于畫了一張:秒殺大年夜圖,圖是基于調(diào)劑場(chǎng)算法(Shunting-Yard algorithm)的流程圖,可以說是清楚清楚明了,就照著圖無腦擼代碼就完事了

代碼如下(僅參考,建議照樣看圖本身敲的舒暢):
public Queue infixToPostfix(Queue infix) {
Stack stack = new Stack();
Queue postfix = new Queue();
Boolean backtoRoot = false;
while (!infix.isEmpty()){
backtoRoot = false;
Data data = infix.poll();
if (data.type == Type.OPERATOR || data.type == Type.PAREN){
if ("+-*/".contains(data.getOperator() )){
while (!stack.isEmpty()) { //Stack is not empty
Token top = stack.peek();
if (("+-(".contains(top.getOperator()) & "/*".contains(data.getOperator())) | ((top.getOperator().equals("(")) & "-+".contains(data.getOperator() ))){ //棧頂元素優(yōu)先級(jí)低于本身
stack.push(data);
backtoRoot = true;
break;
}else {
postfix.offer(stack.pop());
continue;
}
}
if (backtoRoot){
continue;
}
// Stack is empty
if (stack.isEmpty()){
stack.push(data);
continue;
}
continue;
}
if ((data.getOperator().equals("(") )){
stack.push(data);
continue;
}
if (")".contains(data.getOperator() )){
while (!stack.isEmpty() ){
if (stack.peek().getOperator().equals("(")) {
stack.pop();
break;
}
postfix.offer(stack.pop());
}
continue;
}
}
if (data.type == Type.OPERAND){
postfix.offer(data);
continue;
}
}
while (!stack.isEmpty()){
postfix.offer(stack.pop());
}
return postfix;
}
相關(guān)案例查看更多
相關(guān)閱讀
- 昆明網(wǎng)站建設(shè)公司
- 生成海報(bào)
- 云南做百度小程序的公司
- 前端
- 網(wǎng)站建設(shè)專業(yè)品牌
- 汽車回收管理系統(tǒng)
- 昆明小程序定制開發(fā)
- 汽車拆解系統(tǒng)
- 小程序開發(fā)公司
- 云南網(wǎng)站維護(hù)
- 小程序開發(fā)平臺(tái)前十名
- 昆明網(wǎng)絡(luò)公司
- painter
- 小程序被攻擊
- 關(guān)鍵詞快速排名
- 云南網(wǎng)站建設(shè)報(bào)價(jià)
- 網(wǎng)絡(luò)營(yíng)銷
- 汽車拆解管理軟件
- 搜索排名
- 網(wǎng)站開發(fā)
- 小程序開發(fā)費(fèi)用
- 手機(jī)網(wǎng)站建設(shè)
- 電商網(wǎng)站建設(shè)
- 旅游網(wǎng)站建設(shè)
- 云南網(wǎng)站建設(shè)公司
- 云南軟件開發(fā)
- 昆明小程序開發(fā)聯(lián)系方式
- 云南科技公司
- 網(wǎng)站建設(shè)優(yōu)化
- 云南etc小程序