資料結構 棧的應用 算術表示式小括號匹配

2021-07-17 03:35:52 字數 456 閱讀 9149

資料結構高分筆記,第3章《棧》的第乙個例題,題目要求檢測算術表示式中小括號匹配是否合法。感覺自己的演算法還是有點弱智啊,這麼多判斷好像很low逼!!!!

#include #include #define max 5

typedef struct

sqstack;

void main()

if ( *s==')'&&st.exp[st.top]=='(' )//與前乙個左括號匹配成功,出棧

if ( *s=='(' )//左括號為起始括號,始終可以入棧

if ( *s!='('&&*s!=')' )//跳過普通字元

}if ( st.exp[st.top]=='('||st.exp[st.top]==')' )

else printf("no error\n");

}

棧的應用 算術表示式求值

選擇棧作為資料結構,所以所有操作都要圍繞棧的特點來進行。因為先入棧而被壓在下面的意味著要後處理,所以優先順序低的不能壓著優先順序高的而入棧。對於同級的操作符,因為要按照從左往右的運算規則,所以也不 能壓著同級的操作符而入棧。簡單來說,與棧頂的操作符比較,優先順序高的則入棧,否則操作符出棧作相應運 算...

棧的應用 解析算術表示式

對計算機的演算法來說,直接求算術表示式的值是相當困難的,一般分兩步實現演算法會更容易 將算術表示式轉換成另一種形式。計算字尾表示式的值。第一步比較難,但第二步很簡單。對計算機來說,這種分兩步的演算法比直接解析演算法容易的多。中綴表示式是一種通用的算術或邏輯公式表示方法,操作符以中綴形式處於運算元的中...

算術表示式求值 棧的應用

注 實驗用書為 資料結構 c語言版 第2版,人民郵電出版社出版。實驗題目 學生管理系統的設計與實現 實驗環境 visual c 6.0或其他c 環境 一 實驗目的 1 掌握棧的定義及實現 2 掌握利用棧求解算術表示式的方法。二 實驗內容 通過修改完善教材中的演算法3.4,利用棧來實現算術表示式求值的...