• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 183,  comments - 10,  trackbacks - 0

            利用棧存儲(chǔ)中綴表達(dá)式的各個(gè)元素

            例如:
            1 2 + 3 *
            3 3 *
            9

             1 // 后綴表達(dá)式求解結(jié)果
             2 
             3 #include <iostream>
             4 #include <stack>
             5 #include <string>
             6 #include <sstream>
             7 #include <algorithm>
             8 using namespace std;
             9 
            10 void printPost(const stack<string>& post)
            11 {
            12     stack<string> temp(post);
            13     while (!temp.empty())
            14     {
            15         cout << temp.top() << ' ';
            16         temp.pop();
            17     }
            18     cout << endl;
            19 }
            20 
            21 void clearPost(stack<string>& post)
            22 {
            23     while (!post.empty())
            24     {
            25         post.pop();
            26     }
            27 }
            28 
            29 void getPost(stack<string>& post)
            30 {
            31     clearPost(post);
            32     string t;
            33     stack<string> temp;
            34     while (cin >> t)
            35     {
            36         temp.push(t);
            37     }
            38     while (!temp.empty())
            39     {
            40         post.push(temp.top());
            41         temp.pop();
            42     }
            43 }
            44 
            45 double computePost(const stack<string>& rhs)
            46 {
            47     stack<string> post(rhs);
            48     double d1, d2;
            49     double dd;
            50     string optor;
            51     string temp;
            52     while (post.size() >= 3)
            53     {
            54         d1 = atof(post.top().c_str());
            55         post.pop();
            56         d2 = atof(post.top().c_str());
            57         post.pop();
            58         optor = post.top();
            59         post.pop();
            60         switch (optor[0])
            61         {
            62         case '+':
            63             dd = d1 + d2;
            64             break;
            65         case '-':
            66             dd = d1 - d2;
            67             break;
            68         case '*':
            69             dd = d1 * d2;
            70             break;
            71         case '/':
            72             dd = d1 / d2;
            73             break;
            74         default:
            75             break;
            76         }
            77         if (post.empty())
            78         {
            79             break;
            80         }
            81         stringstream ss;
            82         ss << dd;
            83         ss >> temp;
            84         post.push(temp);
            85         printPost(post);
            86     }
            87     return dd;
            88 }
            89 
            90 int main()
            91 {
            92     stack<string> post;
            93     cout << "Input:" << endl;
            94     getPost(post);
            95     printPost(post);
            96     cout << computePost(post) << endl;
            97     return 0;
            98 }


            posted on 2011-06-25 19:10 unixfy 閱讀(421) 評(píng)論(0)  編輯 收藏 引用

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            国产精品久久久久久五月尺| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 日韩精品久久久久久| 色偷偷88欧美精品久久久| 精品伊人久久大线蕉色首页| 国产一级做a爰片久久毛片| 久久夜色精品国产亚洲av| 无遮挡粉嫩小泬久久久久久久 | 久久国产精品一区二区| 久久国产免费| 久久精品国产一区二区三区日韩| 久久夜色精品国产亚洲av| 久久se精品一区二区| 亚洲中文字幕久久精品无码APP| 伊人久久大香线蕉精品| 热re99久久精品国99热| 国产亚洲精品久久久久秋霞 | 久久人人爽人人爽人人片AV高清| 久久最近最新中文字幕大全| 中文字幕日本人妻久久久免费 | 一本一本久久a久久综合精品蜜桃| 精品久久久久久久久久中文字幕| 国产精品美女久久久久久2018| 亚洲欧洲精品成人久久曰影片| 国产成人综合久久精品尤物| 精品久久久久久国产| 久久国产精品无码一区二区三区| 久久精品国产亚洲AV影院| 伊人精品久久久久7777| 人妻无码精品久久亚瑟影视| 久久精品无码一区二区三区日韩| 久久免费视频网站| 88久久精品无码一区二区毛片 | 99精品久久久久中文字幕| 久久久精品国产sm调教网站 | 久久性精品| 亚洲AⅤ优女AV综合久久久| 久久久久国色AV免费看图片| 四虎久久影院| 久久人妻少妇嫩草AV蜜桃| A级毛片无码久久精品免费|