SSL ZYC 字首轉字尾

2021-08-15 07:17:45 字數 658 閱讀 1409

題目大意:

輸入乙個字首表示式,輸出它所對應的字尾表示式。

字首:先寫運算子,接著是第乙個運算元,最後是第二個運算元;

字尾:先寫第乙個運算元,接著寫第二個運算元,最後寫運算子。

思路:

emm…

想了好一會 然而還是不會 ,發現這道題有兩處細節:

(1)字首和字尾的數字順序完全一樣

(2)字首和字尾的符號順序完全相反

然而這道題我最後還是用二叉樹做的……

不難發現,字首的順序是「根左右」,字尾的順序是「左右根」,那利用這條重要的第三處細節,我們就可以只用5行主**完成這道題。

**:

#include 

#include

using

namespace

std;

char c[101],ch;

void read(int x) //讀入

if (ch=='+'||ch=='-') //如果是字元

}void write(int x) //輸出

if (c[x]!=' ') printf("%c ",c[x]); //輸出字元

}int main() //僅有的5行**

中綴轉字尾和字首

中綴轉字尾 include using namespace std bool isoperator char ch intgetpriority char ch return level string postorder void trans string inorder s.pop else el...

字首轉字尾 jzoj 1590

題目描述 我們現實生活中通常使用中綴表示式,但在計算機裡會用到字首表示式以及字尾表示式,他們的含義如下 字首 先寫運算子,接著是第乙個運算元,最後是第二個運算元 字尾 先寫第乙個運算元,接著寫第二個運算元,最後寫運算子。如中綴表示式3 4,在字首表示為 3 4,在字尾裡表示為3 4 而 5 4 2的...

中綴式轉字首式 轉字尾式

1 從左向右讀取字元,新建陣列suffix用來儲存字尾表示式 2 如果遇到 入棧,繼續讀取。3 如果遇到 將棧頂元素依次出棧存到suffix中,直到棧頂元素為 此時將棧頂元素出棧,繼續讀取。4 如果遇到運算子,將其與棧頂元素進行比較,如果該運算子優先順序小於等於棧頂元素,則將棧頂元素出棧,存到suf...