最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++實現(xiàn)逆波蘭式

 更新時間:2020年11月01日 10:10:10   作者:Who_Am_I.  
這篇文章主要為大家詳細介紹了C++實現(xiàn)逆波蘭式,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

(a+b)c的逆波蘭式為ab+c,假設計算機把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;
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c++并查集優(yōu)化(基于size和rank)

    c++并查集優(yōu)化(基于size和rank)

    這篇文章主要介紹了c++并查集優(yōu)化(基于size和rank),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • C語言數(shù)據(jù)結(jié)構(gòu)系列隊列篇

    C語言數(shù)據(jù)結(jié)構(gòu)系列隊列篇

    本章我們將學習 "隊列" ,首先介紹隊列的概念和結(jié)構(gòu),然后我們將著重講解棧的實現(xiàn)。我們從零開始寫隊列的接口,并從零開始步步解讀。本章將繼續(xù)鞏固畫思路草圖的能力,只要思路草圖畫好了,就可以很輕松地將其轉(zhuǎn)換成代碼
    2022-02-02
  • C語言直接插入排序算法介紹

    C語言直接插入排序算法介紹

    大家好,本篇文章主要講的是C語言直接插入排序算法介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • C/C++?Qt?StringListModel?字符串列表映射組件詳解

    C/C++?Qt?StringListModel?字符串列表映射組件詳解

    StringListModel?字符串列表映射組件,該組件用于處理字符串與列表框組件中數(shù)據(jù)的轉(zhuǎn)換,通常該組件會配合ListView組件一起使用,本文給大家介紹了C/C++?Qt?StringListModel?字符串列表映射組件的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • C++實現(xiàn)LeetCode(166.分數(shù)轉(zhuǎn)循環(huán)小數(shù))

    C++實現(xiàn)LeetCode(166.分數(shù)轉(zhuǎn)循環(huán)小數(shù))

    這篇文章主要介紹了C++實現(xiàn)LeetCode(166.分數(shù)轉(zhuǎn)循環(huán)小數(shù))
    2021-07-07
  • C++?常量成員函數(shù)學習筆記

    C++?常量成員函數(shù)學習筆記

    這篇文章主要為大家介紹了C++?常量成員函數(shù)學習筆記,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • C++如何實現(xiàn)DNS域名解析

    C++如何實現(xiàn)DNS域名解析

    這片文章介紹了C++如何實現(xiàn)DNS域名解析,還有對相關(guān)技術(shù)的介紹,代碼很詳細,需要的朋友可以參考下
    2015-07-07
  • C語言實現(xiàn)掃雷游戲附注釋

    C語言實現(xiàn)掃雷游戲附注釋

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)掃雷游戲附注釋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C語言必背的一些經(jīng)典程序代碼實例

    C語言必背的一些經(jīng)典程序代碼實例

    C語言是一種高級編程語言,具有很多優(yōu)點,下面這篇文章主要給大家介紹了關(guān)于C語言必背的一些經(jīng)典程序代碼,文中通過詳細的實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • C++?pthread入門指南

    C++?pthread入門指南

    pthread是C++98接口且只支持Linux,使用時需要包含頭文件#include?<pthread.h>,編譯時需要鏈接pthread庫,其中p是POSIX的縮寫,而POSIX是Portable?Operating?System?Interface的縮寫,這篇文章主要介紹了C++?pthread簡介,需要的朋友可以參考下
    2024-05-05

最新評論

晋江市| 泾阳县| 离岛区| 三都| 咸丰县| 辽中县| 土默特右旗| 醴陵市| 安多县| 秀山| 嘉峪关市| 景德镇市| 商水县| 海阳市| 平阳县| 龙井市| 容城县| 津市市| 中山市| 当阳市| 蒲城县| 曲沃县| 望都县| 高清| 阿合奇县| 楚雄市| 铁力市| 丹阳市| 甘肃省| 渝中区| 石门县| 北川| 滨州市| 深水埗区| 朔州市| 蒙阴县| 报价| 镇沅| 门头沟区| 陕西省| 静海县|