欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

使用C++實現(xiàn)逆波蘭式的方法-創(chuàng)新互聯(lián)

這篇文章運用簡單易懂的例子給大家介紹使用C++實現(xiàn)逆波蘭式的方法,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)公司從2013年開始,公司以成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、系統(tǒng)開發(fā)、網(wǎng)絡(luò)推廣、文化傳媒、企業(yè)宣傳、平面廣告設(shè)計等為主要業(yè)務(wù),適用行業(yè)近百種。服務(wù)企業(yè)客戶成百上千,涉及國內(nèi)多個省份客戶。擁有多年網(wǎng)站建設(shè)開發(fā)經(jīng)驗。為企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、創(chuàng)意設(shè)計、宣傳推廣等服務(wù)。 通過專業(yè)的設(shè)計、獨特的風(fēng)格,為不同客戶提供各種風(fēng)格的特色服務(wù)。

(a+b)c的逆波蘭式為ab+c,假設(shè)計算機把ab+c按從左到右的順序壓入棧中,并且按照遇到運算符就把棧頂兩個元素出棧,執(zhí)行運算,得到的結(jié)果再入棧的原則來進行處理,那么ab+c的執(zhí)行結(jié)果如下:

1)a入棧(0位置)
2)b入棧(1位置)
3)遇到運算符“+”,將a和b出棧,執(zhí)行a+b的操作,得到結(jié)果d=a+b,再將d入棧(0位置)
4)c入棧(1位置)
5)遇到運算符“”,將d和c出棧,執(zhí)行dc的操作,得到結(jié)果e,再將e入棧(0位置)


經(jīng)過以上運算,計算機就可以得到(a+b)*c的運算結(jié)果e了。

逆波蘭式除了可以實現(xiàn)上述類型的運算,它還可以派生出許多新的算法,數(shù)據(jù)結(jié)構(gòu),這就需要靈活運用了。逆波蘭式只是一種序列體現(xiàn)形式。

eg:

輸入示例

1 2 + 3 4 - *

輸出示例

-3

代碼

#include <iostream>
#include <stack>
#include <cstdio>
using namespace std;

int main()
{
 string s;
 getline(cin,s);
 int n = s.length();//字符串長度
 stack<int> t;
 for(int i=0;i<n;i++)
 {
 char c=s[i];
 if(c=='+'){
 int a=t.top();
 t.pop();
 int b=t.top();
 t.pop();
 t.push(a+b);
 }
 else if(c=='-'){
 int a=t.top();
 t.pop();
 int b=t.top();
 t.pop();
 t.push(b-a);
 }
 else if(c=='*'){
 int a=t.top();
 t.pop();
 int b=t.top();
 t.pop();
 t.push(a*b);
 }
 else if(c=='/'){
 int a=t.top();
 t.pop();
 int b=t.top();
 t.pop();
 t.push(a/b);
 }
 else if(c==' '){
 continue;
 }
 else{//數(shù)字
 int m=(int)c;
 m=m-48;
 t.push(m);
 }
 }

 cout<<t.top();

 return 0;
}

網(wǎng)頁題目:使用C++實現(xiàn)逆波蘭式的方法-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://chinadenli.net/article46/gcjeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)電子商務(wù)網(wǎng)站維護定制開發(fā)自適應(yīng)網(wǎng)站響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)