<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      14.java 中綴表達式轉后綴表達式

      思路如下:

      1、初始化兩個棧,運算符棧和中間結果棧

      2、從左至右掃描

      3、遇到數時直接壓入s2

      4、遇到運算符時,比較其與s1棧頂的優先級,有如下幾種情況:

      1)s1為空或棧頂為“(”或此運算符優先級大于s1棧頂符優先級時,直接入棧

      2)s1棧頂運算符優先級大于等于該運算符時,不斷從s1棧中彈出棧頂 并壓入s2直到s1為空或優先級大于s1棧頂。然后將此運算符壓入s1

      5、遇到括號時:

      1)為左括號則直接壓入s2

      2)為右擴號時則不斷彈出s1棧頂壓入s2直到遇到左括號時,停止彈出并將這一對括號丟棄

      6、掃描到最右邊時結束循環

      7、將s1中的運算符依次彈出并壓入s2

      8、依次彈出s2中的元素并輸出,結果的逆序則為后綴表達式。

      主要依賴兩個方法,

      1、將中綴表達式分割轉換為一個list

      需要考慮多位數,遍歷字符串s,不是數字則直接add入list,是數字則進入while循環直到結束或得到的后一位不為數字了結束拼接,add入list剛剛得到的拼接字符串

      public static List<String> tolist(String s){
              List<String> list=new ArrayList<String>();
              String str="";
              char ch=' ';
              int i=0;
              do {
                  if((s.charAt(i)<48)||(s.charAt(i)>57)){
                      list.add(""+s.charAt(i));
                      i++;
                  }else {
                      str="";
                      while (i<s.length()&&s.charAt(i)>=48&&s.charAt(i)<=57){
                          str+=s.charAt(i);
                          i++;
                      }
                      list.add(str);
                  }
              }while (i<s.length());
              return list;
          }

       

      2、將分割后的list轉換為后綴表達式

      定義兩個棧,但由于s2沒有pop的操作且之后還要倒序輸出所以這里以list來代替棧。遍歷list,依據上述描述來寫邏輯。

      public static List<String> parseList(List<String> list){
              Stack<String> stack=new Stack<String>();
              List<String> ls=new ArrayList<String>();
      
              for (String item:list){
                  if(item.matches("\\d+")){
                      ls.add(item);
                  }else if (item.equals("(")){
                      stack.push(item);
                  }else if (item.equals(")")){
                      while (stack.size()!=0&&!stack.peek().equals("(")){
                          ls.add(stack.pop());
                      }
                      stack.pop();
                  }else {
                      while (stack.size()!=0&&oper.getvalue(stack.peek())>=oper.getvalue(item)){
                          ls.add(stack.pop());
                      }
                      stack.push(item);
                  }
      
              }
              while (stack.size()!=0){
                  ls.add(stack.pop());
              }
              return ls;
          }

       

      posted @ 2022-03-29 00:00  水煮小白菜  閱讀(146)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产自产对白一区| 亚洲国产精品综合久久2007| 国内精品久久久久影院薰衣草| 亚洲日韩中文字幕在线播放| 中文字幕成熟丰满人妻| 国产精品小粉嫩在线观看| 星座| 日本一区二区三区视频版| 亚洲人成网网址在线看| 免费无码肉片在线观看| 口爆少妇在线视频免费观看| 无遮无挡爽爽免费视频| 狠狠久久五月综合色和啪| 欧美人伦禁忌dvd放荡欲情| 92自拍视频爽啪在线观看| 国产一区二区日韩在线| 99在线精品国自产拍中文字幕| 国产精品日日摸夜夜添夜夜添2021| 高清精品视频一区二区三区| 国产精品18久久久久久麻辣| 欧美精品videosbestsex日本| 成人久久精品国产亚洲av| 给我播放片在线观看| 国产台湾黄色av一区二区| 国产不卡一区二区四区| 香港三级韩国三级日本三级| 曰韩无码二三区中文字幕| 国产精品无码aⅴ嫩草| 国产极品丝尤物在线观看| 精品国产高清中文字幕| 久久五月丁香合缴情网| 亚洲区成人综合一区二区| 特级做a爰片毛片免费看无码| 中文字幕色av一区二区三区| 林芝县| 在线涩涩免费观看国产精品| 狠狠亚洲色一日本高清色| 在线精品国产成人综合| 日韩一区二区在线看精品| 精品无码国产自产拍在线观看蜜| 四虎国产精品永久在线看|