問題:
/*
檔名稱:專案5.cbp
作 者:王聰
完成日期:2023年10月10日
版 本 號:v1.0
問題描述:利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表達
式的演算法。例如,輸入(56-20)/(4+2),輸出字尾表示式::56#20#-4#2#+/要求
在數字後加#
輸入描述:字首表示式
程式輸出:中綴表示式 字尾表示式
*/
標頭檔案及功能函式詳見
【順序棧演算法庫】
main函式**:
#include "sqstack.h"
#define maxop 7
struct //設定運算子優先順序
lpri= ,,,,,,},
rpri= ,,,,,,};
int leftpri(char op) //求左運算子op的優先順序
postexp[i++]='#'; //用#標識乙個數值串結束
}else //為運算子的情況
}} //while (*exp!='\0')
pop(opstack, ch);
while (ch!='=')
//此時exp掃瞄完畢,退棧到'='為止
postexp[i]='\0'; //給postexp表示式新增結束標識
destroystack(opstack);
}int main()
執行結果:
基於棧結構,將中綴表示式轉換為字尾表示式的演算法步驟是:
初始化運算子棧op;
將'='進棧;
從exp讀取字元ch;
while (ch!='\0')
}
知識點總結:
通過棧解決具體應用問題。
學習心得:
這個知識點比較難理解,還需要自己一步步的練習。
第6周 專案5 字尾表示式
問題描述及 煙台大學計控學院 作 者 楊徵 完成日期 2015年10月5日 問題描述 利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表示式的演算法。例如,輸入 56 20 4 2 輸出字尾表示式 56 20 4 2 要求在數字後加 1 sqstack.h ifndef s...
第6周 專案5 字尾表示式
檔名稱 1.pp 完成日期 2015年10月12日 問題描述 實現將乙個中綴表示式轉換為對應的字尾表示式演算法 include include define maxsize 100 typedef char elemtype typedef struct sqstack 順序棧型別定義 void i...
第6周 專案5 字尾表示式
問題及 檔名稱 test.cpp 作 者 焦夢真 完成日期 2015年10月12日 版 本 號 v1.0 問題描述 利用sqstack.h中棧的基本運算,實現將乙個中綴表示式轉換為對應的字尾表示式的演算法。輸入描述 程式輸出 include include include sqstack.h def...