課本源碼部分
第3章 棧和隊列 - 表達式求值
——《數據結構》-嚴蔚敏.吳偉民版
源碼使用說明 鏈接☛☛☛ 《數據結構-C語言版》(嚴蔚敏,吳偉民版)課本源碼+習題集解析使用說明
課本源碼合輯 鏈接☛☛☛ 《數據結構》課本源碼合輯
習題集全解析 鏈接☛☛☛ 《數據結構題集》習題解析合輯
本源碼引入的文件 鏈接☛ SequenceStack.c
文檔中源碼及測試數據存放目錄:數據結構\▲課本算法實現\▲03 棧和隊列\05 Expression
概述
表達式求值最重要的是分析各運算符的優先級。
解析
表達式求值中需要用到兩個棧,一個操作數棧,一個運算符棧。核心思想是優先處理具有最高優先級的運算符,其他的先入棧,特別注意兩個符號在實際運算中優先級相同時,在本問題中的表述有所區別。
常見的運算符優先級如下圖(#是結束標記):
源碼
文件一 ☛ Expression.h
文件二 ☛ Expression.c
文件三 ☛ Expression-main.c (測試文檔)
測試結果展示