<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 147  文章 - 71  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(146)

    隨筆檔案(147)

    文章分類(28)

    文章檔案(28)

    喜歡的Blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    http://www.spoj.pl/problems/ONP/
    中綴表達式轉換為后綴表達式算法
    使用一個數組作為運算符的棧,從頭到尾掃描中綴表達式,對不同類型的字符按不同情況處理:
    1、如果是數字則直接放入后綴表達式數組;
    2、如果是左括號則直接入棧;
    3、如果是右括號,則把從棧頂直到對應左括號之間的運算符依次退棧,并清除對應的左括號;
    4、對于運算符,如果該運算符的優先級大于棧頂優先級,則直接入棧,
    若該運算符的優先級小于等于棧頂優先級,則先把棧頂運算符出棧,寫入后綴表達式數組,
    然后再入棧;
    5、掃描完成后,取出棧中所有運算符,寫入后綴表達式數組。
    import java.util.*;
    import java.io.*;

    public class SPOJ_4{
        
        
    public static char[] opt = {'(','+','-','*','/','^',')'};
        
        
    public static boolean compare(char c1,char c2){
            
    int i,j;
            
    for(i=0;i<7;i++){
                
    if(c1==opt[i])
                    
    break;
            }

            
    for(j=0;j<7;j++){
                
    if(c2==opt[j])
                    
    break;
            }

            
    if(i>j)
                
    return true;
            
    else
                
    return false;
        }

        
        
    public static void main(String rgs[]) throws Exception
        
    {
            BufferedReader stdin 
    = 
                
    new BufferedReader(
                    
    new InputStreamReader(System.in));        
            String line 
    = stdin.readLine();  
            
    int i,j,n,t = Integer.parseInt(line);
            
    for(i=0;i<t;i++){
                line 
    = stdin.readLine();
                
    char[] stack = new char[400];
                
    char c;
                
    int top=0;
                n
    =line.length();
                
    for(j=0;j<n;j++){
                    c
    =line.charAt(j);
                    
    if(c>='a' && c<='z')
                        System.out.print(c);
                    
    else if(c=='(')
                        stack[
    ++top]=c;
                    
    else if(c==')'){
                        
    while(stack[top]!='('){
                            System.out.print(stack[top]);
                            top
    --;
                        }

                        top
    --;
                    }

                    
    else{
                        
    if(top==0 || compare(c,stack[top]))
                            stack[
    ++top]=c;
                        
    else{
                            
    while(!(top==0 || compare(c,stack[top]))){
                                System.out.print(stack[top]);
                                top
    --;
                            }

                            stack[top
    ++]=c;
                        }
        
                    }

                }
         
                System.out.println(
    "");
            }

        }

    }
    posted on 2009-08-22 16:08 飛翔天使 閱讀(246) 評論(0)  編輯  收藏 所屬分類: spoj
    主站蜘蛛池模板: 亚洲高清不卡视频| 亚洲午夜精品久久久久久浪潮| 亚洲成年轻人电影网站www| 国产成人无码精品久久久免费| 免费国产在线观看老王影院| 美国免费高清一级毛片| 国产成人高清精品免费鸭子| 美女18毛片免费视频| 亚洲国产综合无码一区二区二三区 | 亚洲婷婷在线视频| 黄色网址免费大全| 亚洲一本到无码av中文字幕| 在线看片人成视频免费无遮挡| 亚洲日产乱码一二三区别 | 亚洲国产av玩弄放荡人妇| 国产成人精品男人免费| 尤物视频在线免费观看| 亚洲av永久无码精品国产精品| 91制片厂制作传媒免费版樱花| wwwxxx亚洲| 免费人妻无码不卡中文字幕18禁| 一出一进一爽一粗一大视频免费的 | 日本特黄特色AAA大片免费| 亚洲精品无码MV在线观看| 男女午夜24式免费视频| 亚洲免费黄色网址| 国产a级特黄的片子视频免费| 国产视频精品免费视频| 亚洲美女激情视频| 国产乱人免费视频| 精品视频在线免费观看| 亚洲AV日韩综合一区尤物| 亚洲国产日韩成人综合天堂| 未满十八18禁止免费无码网站| 中日韩亚洲人成无码网站| 久久久久久亚洲精品不卡| 色影音免费色资源| 一级视频在线免费观看| 亚洲制服在线观看| 日日噜噜噜噜夜夜爽亚洲精品| 国产一卡二卡四卡免费|