//中綴轉字尾表示式
//1.若為'(',直接入棧
//2.若為')',出棧直到'(',並刪掉棧中的'('
//3.若為'+','-','*','/』
// (1)棧空,入棧
// (2)若棧頂為'(',入棧
// (3)若比棧頂優先順序高,入棧
// 否則,彈出棧頂元素,直到出現'('或者比棧頂優先順序低
//4.遍歷完成,若棧非空依次彈出所有元素
#include
#include
using
namespace std;
#define maxsize 50
typedef
char elem;
typedef
struct stack sqstack;
//初始化
void
init_s
(sqstack &s)
//判空
bool
empty_s
(sqstack s)
//入棧
bool
push_s
(sqstack &s, elem e)
//出棧
void
pop_s
(sqstack &s)
elem get_top
(sqstack s)
intprior
(char c)
}int
main()
pop_s
(s);}if
(str[i]
=='+'
|| str[i]
=='-'
|| str[i]
=='*'
|| str[i]
=='/')}
}}while(!
empty_s
(s))
return0;
}
1003 中綴表示式轉字尾表示式
1003.中綴表示式轉字尾表示式 total 466accepted 89 time limit 1sec memory limit 256mb description 將中綴表示式 infix expression 轉換為字尾表示式 postfix expression 假設中綴表示式中的運算元均...
資料結構 中綴表示式轉字尾表示式
話不多說上例子 1 2 3 4 5 1 2 3 4 5 中綴表示式轉字尾表示式思路分析 1.首先需要兩個棧運算子棧 s1和儲存中間結果的棧 s2 2.從左至右掃瞄中綴表示式 2.1當前為運算元,將其壓棧至s2 2.2當前為運算子 2.2.1如果s1為空或者棧頂運算子為左括號 則將此運算子直接入s1棧...
SzNOI c003 中綴表示式轉字尾表示式
個人覺得我寫的應該是目前網上寫的版本比較簡單的了。這也是我開部落格的原因,盡量寫出簡單的 一方面可以鞏固自己,一方面也能方便別人 中綴表示式轉化為字尾表示式是通過棧實現 思路是,寫兩個函式,分別是算術操作符的優先順序,這個想法在資料結構 用物件導向方法與c 裡面這本書有大概提到 isp是棧內優先數,...