日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

中缀转后缀

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 中缀转后缀 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提:這里假設每個英語字母都表示一個數,或者每一個數都是只有一個數字的。(要是可以自己再調整一下,就很容易改好了)
方法
1. 如果是英語字母,或者是數字,就直接放到返回串里面
2. 如果是空格就直接跳過
3. 如果是右括號),就把棧中的字符都清出來,一直遇到一個左括號
4. 如果是左括號,那就直接放到棧中(沒有人的優先級比這個小了)
5. 剩下的就是運算符。就一直清棧,一直到棧頂的優先級比當前字符要小
6. 最后的把棧中的字符全都清出來
簡單證明
第二條,有空格,直接跳過,沒有問題(為了提高容錯性的)。
第一條,遇到了數字,或者是英語字母,就直接放到返回串中,這個也沒有問題,總要放數字嘛。
第三條,遇到了一右括號,那么,很顯然,這一堆的運算符,都是會被一個左括號和右括號給囊括的,所以,需要把還沒有被清走的表達式給清走
第四條,在描述的時候,已經說了,左括號優先級最小,自己先放就好了
第五條,關鍵的一條,如果前面的運算級大于或者等于當前運算符的集合,那么說明前面的那些需要先算(唯一可能懷疑的就是那個相等的時候,這個其實是一個定義問題,也可以用不等于的,但是為了節省空間,就先把等于的情況給拿出來
第六條,最后,如果前面的都沒有把操作符輸出的話,就清棧。這是顯然的,因為你只是轉換,并不會減少運算符(把括號不算運算符)。我們只需要證明,如果有棧到這個時候是非空的,就可以了。

a+b

上述例子就完成了說明。


代碼如下:歡迎批評指正,共同學習

#include<iostream> using namespace std; #include<stack> stack<string> oper; string mid2Post(string s){string ans;for (int i = 0; i < s.size(); ++i){if (s[i] >= '0' && s[i] <= '9' || s[i] >= 'a' && s[i] <= 'z' ||s[i] >= 'A' && s[i] <= 'Z'){ans += s.substr(i,1);ans += string(" ");} else if (s[i] == ' '){continue;} else if (s[i] == ')'){// this is a opernent ')'while (!oper.empty() && oper.top() != "(") {ans += oper.top();ans += string(" ");oper.pop();}if (!oper.empty())oper.pop();} else if (s[i] == '(') {oper.push(s.substr(i,1));} else { // 一直出棧,直到有比當前要小的字符出現 while (!oper.empty() &&( ( (oper.top() == "+" || oper.top() == "-" || oper.top() == "*" || oper.top() == "/")&& (s[i] == '+' || s[i] == '-') ) || ((s[i] == '*' || s[i] == '/') && (oper.top() == "*" ||oper.top() =="/"))) ) {ans += oper.top();ans += string(" ");oper.pop();} oper.push(s.substr(i,1));}}while (!oper.empty()){ans += oper.top();ans += string(" ");oper.pop();}return ans; }int main(){string s;cin >> s;cout << mid2Post(s)<< endl; }

歡迎關注我用于做筆記的公眾號:肥宅Sean筆記


總結

以上是生活随笔為你收集整理的中缀转后缀的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本少妇毛茸茸 | 成人影视免费 | 双性高h1v1 | 久久久久久久久久久久久久久久久久久久 | 欧美另类视频 | 丰满肥臀噗嗤啊x99av | 国产精品久久在线观看 | 深夜福利一区 | 日本护士╳╳╳hd少妇 | 亚洲精品中文字幕乱码三区91 | 国产精品久久AV无码 | 久久高潮视频 | 亚洲免费一区 | ass精品国模裸体pics | 久久久高清免费视频 | 久久99久久99精品免观看软件 | 亚洲av综合av一区二区三区 | 国产又粗又长又黄 | av网站在线免费 | 先锋影音色 | 激情综合网av | 午夜爱爱网| 成人免费看片 | 草草草在线 | 日韩成人av影院 | 国产视频第二页 | 成人高潮视频 | 色欲av无码一区二区三区 | 羞羞的视频网站 | 久操福利在线 | 青草视频在线看 | 婷婷6月天 | 污污网站在线播放 | 国产激情一区二区三区四区 | 欧美日韩欧美日韩在线观看视频 | 久久精品中文 | gv天堂gv无码男同在线观看 | 久久免费在线 | 中文字幕1区2区3区 www.com黄色片 | 国产91清纯白嫩初高中在线观看 | 黄色污网站在线观看 | 91一区二区三区在线 | 丰满少妇一区二区三区视频 | 国产一区久久 | 永久免费av无码网站性色av | 日本特黄特黄刺激大片 | 男女免费网站 | 91精品国产亚洲 | 秋霞毛片少妇激情免费 | 97超碰资源总站 | 欧美成人aaa | av日韩av| 艳妇乳肉亭妇荡乳av | 91禁看片 | 大香蕉视频一区二区 | 日韩精品免费在线视频 | 中文人妻熟妇乱又伦精品 | 中文字幕1区 | 色丁香婷婷综合久久 | 五月天久久综合 | 少妇一级淫片免费放 | 日本高清黄色电影 | 国产精品自拍99 | 成人p站在线观看 | 麻豆黄色网 | 伊人狼人影院 | 亚洲精品乱码久久久久久 | 欧美久久视频 | 高跟鞋肉丝交足91 | 久草av在线播放 | 亚洲精品99久久久久中文字幕 | 欧美男女性生活视频 | 樱桃香蕉视频 | 国产三级日本三级在线播放 | 91久精品| 音影先锋av资源 | 成片免费观看视频大全 | 国内毛片毛片毛片毛片 | 爱爱网站免费 | 欧美波霸影院 | 亚洲视频日韩 | 国产精品白嫩极品美女视频 | 欧美日韩成人网 | 欧美乱妇一区二区三区 | 国产裸体视频网站 | 爱爱中文字幕 | 亚洲作爱视频 | ass东方小嫩模pics | 中文字幕一区在线 | 色哒哒影院 | 日韩精品视频网 | 中文字幕日韩人妻在线视频 | 裸体男女树林做爰 | 日韩欧美视频网站 | 超碰免费在线97 | 日韩人成| 中文一区二区 | 三级久久久 | 成人3d动漫一区二区三区 |