中綴轉字尾

2021-06-20 22:58:58 字數 565 閱讀 1140

#include

using namespace std;

#define max 30

struct stack

;void initstack(stack &s)

char pop(stack &s)

void push(stack &s,char c)

char top(stack &s)

int copare(char a,char b)

void main()

else if(str[i]=='+' || str[i]=='-' || str[i]=='*' || str[i]=='/'|| str[i]=='('|| str[i]==')')

else//出棧,直至s中的比str[i]優先順序低,然後再把str[i]壓入棧中

pop(s1);//'('不放入新字串中

}else//沒有括號的情況

push(s1,str[i]);}}

}}//讀完字串後把棧中剩下來的全部複製到新字串中

while(s1.top!=-1)

cout<

}

中綴轉字尾

棧的特性 後進先出 last in first out 資料結構 中綴 9.11 3 1 5 分離數字與運算子 9.11 3 1 5 字尾 9.11 3 1 5 中綴轉字尾過程 當前元素為數字,輸出,作為字尾表示式的一部分 如果當前運算子,比棧頂運算子優先順序低 小於等於 時,將棧頂元素輸出,作為字...

中綴轉字尾(棧)

字尾表示式也叫逆波蘭表示式,其求值過程可以用到棧來輔助儲存。假定待求值的字尾表示式為 6 5 2 3 8 3 則其求值過程如下 1 遍歷表示式,遇到的數字首先放入棧中,此時棧如下所示 2 接著讀到 則彈出3和2,執行3 2,計算結果等於5,並將5壓入到棧中。3 讀到8,將其直接放入棧中。4 讀到 彈...

中綴轉字尾及字尾求值

中綴表示式轉字尾表示式 include include include include include include includeusing namespace std const int maxn 1000 10 typedef char typename struct node typede...