中綴表達式轉換逆波蘭式(后綴表達式)

算法思路來自于王道的數據結構

在這里插入圖片描述

#include <iostream>
#include <stack>
#include <map>using namespace std;
string eq;
stack<char> op;
string rst = "";
map<char, int> dict;// 獲取優先級
int getPrio(char op)
{if (op == '+')return 1;if (op == '-')return 1;if (op == '*')return 2;if (op == '/')return 2;return 0;
}int main()
{cin >> eq;for (int i = 0; i < eq.length(); ++i){//是操作字符直接壓入 后綴表達式中if (eq[i] >= 65 && eq[i] <= 90)rst += eq[i];else{if (op.empty() || eq[i] == '(') // 棧為空或者為'('直接入棧(優先判斷棧是否為空)op.push(eq[i]);else if (eq[i] == ')') // 如果是右括號執行相應邏輯{while (op.top() != '('){char ch = op.top();rst += ch;op.pop();}op.pop(); // 彈出'('}else{while (getPrio(eq[i]) <= getPrio(op.top())) // 當前符號優先級大于棧頂符號{rst += op.top();op.pop();if (op.empty())break;}op.push(eq[i]); // 壓入當前符號}}}while (!op.empty()){char ch = op.top();rst += ch;op.pop();}cout << rst;return 0;
}

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718026.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718026.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718026.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Dubbo專欄 01 】深入探索:dubbo的架構是什么?

文章目錄 Dubbo&#xff1a;深入解析分布式服務框架的核心概念與實現01 Dubbo簡介02 Dubbo核心概念2.1 服務提供者&#xff08;Provider&#xff09;2.2 服務消費者&#xff08;Consumer&#xff09;2.3 注冊中心&#xff08;Registry&#xff09;2.4 負載均衡&#xff08;Load…

如何對用OpenCV開發的API進行測試 (Google Test 版本)

如何對用OpenCV開發的API進行測試 &#xff08;Google Test 版本&#xff09; 如何對用OpenCV開發的API進行測試斷言介紹斷言基礎的斷言數值比較字符串比較 如何對用OpenCV開發的API進行測試 假設你想測試一個使用OpenCV開發的圖像處理API&#xff0c;例如一個圖像濾波函數。以…

SWC Runnable

runnable概念 runnable是編寫應用程序行為邏輯的 SWC 的一部分。Runnable 類似于 C 中的函數,類似RTOS中的task,程序運行的實體,swc的靈魂。在 AUTOSAR 中,我們在配置期間在 SWC 中創建 Runnable,并且 在 SWC 的相應源文件中生成Runnable 或函數骨架。骨架函數的名稱與我…

【硬件工程師面經整理15_低通/高通/帶通濾波器】

低通/高通/帶通濾波器 1.1 低通濾波器1.2 高通濾波器1.3 帶通濾波器 1.1 低通濾波器 【定義】電感阻止高頻信號通過而允許低頻信號通過&#xff0c;電容的特性卻相反。信號能夠通過電感的濾波器、或者通過電容連接到地的濾波器對于低頻信號的衰減要比高頻信號小&#xff0c;稱…

第二篇【傳奇開心果系列】Python的自動化辦公庫技術點案例示例:深度解讀Pandas金融數據分析

傳奇開心果博文系列 系列博文目錄Python的自動化辦公庫技術點案例示例系列 博文目錄前言一、Pandas 在金融數據分析中的常見用途和功能介紹二、金融數據清洗和準備示例代碼三、金融數據索引和選擇示例代碼四、金融數據時間序列分析示例代碼五、金融數據可視化示例代碼六、金融數…

軟考高級:DNS欺騙相關知識和例題

一、AI 解析 DNS欺騙&#xff0c;又稱DNS緩存投毒&#xff0c;是一種網絡攻擊技術。攻擊者通過篡改DNS服務器的緩存數據&#xff0c;使得DNS查詢的結果指向一個惡意的IP地址&#xff0c;從而引導用戶訪問到釣魚網站或者惡意軟件下載頁面&#xff0c;對用戶的信息安全造成威脅。…

后臺組件-IO定義

<groupId>org.qlm</groupId><artifactId>qlm-io</artifactId><version>1.0-SNAPSHOT</version> 該組件定義了前端和后臺微服務直接通訊結構以及返回值定義。 RequestInfo&#xff1a;請求結構 ResponseResult&#xff1a;非分頁的返回結…

最新版風車IM通訊iosapph5三端源碼及視頻教程

最新版風車IM通訊iosapph5三端源碼及視頻教程 1.寶塔環境如下: Nginx 1.20 Tomcat 8 MySQL 8.0 Redis 7 2.放行端口如下&#xff1a; 666 6600 6700 7000&#xff08;用作前端&#xff09; 7001&#xff08;用作后端&#xff09; 3.寶塔數據庫添加數據庫旁邊有個ro…

Sqli-labs靶場第21、22關詳解[Sqli-labs-less-21、22]自動化注入-SQLmap工具注入|sqlmap跑base64加密

Sqli-labs-Less-21、22 由于21/22雷同&#xff0c;都是需要登錄后&#xff0c;注入點通過Cookie值進行測試&#xff0c;值base64加密 修改注入數據 選項&#xff1a;--tamperbase64encode #自動化注入-SQLmap工具注入 SQLmap用戶手冊&#xff1a;文檔介紹 - sqlmap 用戶手冊 由…

MySql行子查詢

目錄 行子查詢數據準備 行子查詢 子查詢返回的結果是一行(可以是多列)&#xff0c;這種子查詢稱為行子查詢。 常用的操作符&#xff1a; 、<> 、IN 、NOT IN 案例&#xff1a;查詢與"韋一笑"的入職日期及職位都相同的員工信息 可以拆解為兩步進行&#xff1…

框架漏洞-->Struts2 Docker_Vulnhub搭建

來淺淺的講一下Struts2漏洞 目錄 1.Docker_Vulnhub搭建 2.Struts2 3.Struts2的框架特征 4.S2-029-->Remote Code Execution 5.漏洞復現 1.RCE 2.Getshell 1.Docker_Vulnhub搭建 因為我用的是Linux&#xff0c;所以我選擇直接搭個docker&#xff0c;這里我建議先換個…

在Ubuntu22.04安裝Fcitx5中文輸入法教程(十分詳細)

前言 書接上回&#xff0c;一時興起將主力機的 Ubuntu 20.04 LTS 升級至了剛剛發布的 22.04 LTS。從 X 切換到 Wayland 、GNOME 從 3.36 升級至 42、Python 默認為 3.10 等等……使用太新的軟件包反而暫時帶來了麻煩&#xff0c;部分原有的軟件和插件都不可用了。這其中就包括…

【AI Agent系列】【MetaGPT多智能體學習】7. 剖析BabyAGI:原生多智能體案例一探究竟(附簡化版可運行代碼)

本系列文章跟隨《MetaGPT多智能體課程》&#xff08;https://github.com/datawhalechina/hugging-multi-agent&#xff09;&#xff0c;深入理解并實踐多智能體系統的開發。 本文為該課程的第四章&#xff08;多智能體開發&#xff09;的第五篇筆記。今天我們拆解一個之前提到…

Docker之數據卷

文章目錄 一、什么是數據卷二、自定義鏡像 一、什么是數據卷 1.1Docker 數據管理 在生產環境中使用 Docker &#xff0c;往往需要對數據進行持久化&#xff0c;或者需要在多個容器之間進行 數據共享&#xff0c;這必然涉及容器的數據管理操作 1.2操作 將宿主機的目錄與容器的目…

飛槳(PaddlePaddle)數據預處理教程

文章目錄 飛槳&#xff08;PaddlePaddle&#xff09;數據預處理教程1. 安裝飛槳2. 了解飛槳的數據預處理方法3. 應用單個數據預處理方法4. 組合多個數據預處理方法5. 在數據集中應用數據預處理5.1 在框架內置數據集中應用5.2 在自定義數據集中應用 6. 總結 飛槳&#xff08;Pad…

使用DockerFile構建Tomcat鏡像

1、準備鏡像文件tomcat壓縮包&#xff0c;jdk的壓縮包 tomcat鏈接&#xff1a;https://pan.baidu.com/s/1Xpecb-BSGR2sdxSL7FDtBw?pwd1234 提取碼&#xff1a;1234 jdk鏈接&#xff1a;https://pan.baidu.com/s/1mQHInn27j1I9uuuicBsyAA?pwd1234 提取碼&#xff1a;1234 …

惠普GT5810打印機報錯E9的處理方法

當打印機檢測到供墨系統需要維護時&#xff0c;將會出現 E9 錯誤。 吳中函 打印出的帶錯誤的供墨系統維護頁包含解決該錯誤的說明。 出現 E9 警告時維持 HP Ink Tank 打印機的打印質量&#xff0c;出現 E9 警告時如何維持 HP Ink Tank 打印機的打印質量。 惠普5810報錯E9通常…

冒泡排序(C語言詳解)

原理&#xff1a;從左到右一次比較&#xff0c;如果左側數字比右側數字大&#xff08;小&#xff09;&#xff0c;則兩數交換&#xff0c;否則比較下一 組數字&#xff0c;每一次大循環比較可以將亂序的最右側數字改為最大&#xff08;最小&#xff09;&#xff0c…

機房運維管理的全面優化:動環監控與IT基礎設施的深度融合

隨著信息技術的飛速發展&#xff0c;機房作為支撐企業信息化建設的核心樞紐&#xff0c;其運維管理的重要性日益凸顯。機房不僅要確保IT基礎設施的高可用性&#xff0c;還需應對日益復雜的安全挑戰和不斷變化的業務需求。因此&#xff0c;構建一個集動環監控、工單管理、資產管…

MySQL運維實戰之備份和恢復(8.2)xtrabackup備份到云端(OSS)

作者&#xff1a;俊達 xtrabackup工具中有一個xbcloud程序&#xff0c;可以將數據庫直接備份到S3對象存儲中&#xff0c;本地不落盤。這里介紹將數據庫直接備份到OSS的一種方法。 具體方法如下&#xff1a; 1、準備OSS 我們使用ossutil工具上傳備份文件。 下載ossutil工具&…