算術表示式的轉換

2021-08-26 05:16:22 字數 1261 閱讀 6630

time limit: 1000 ms memory limit: 65536 kib

submit

statistic

discuss

problem description

小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。

因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。

input

輸入一算術表示式,以\'#\'字元作為結束標誌。(資料保證無空格,只有一組輸入)

output

輸出該表示式轉換所得到的字首式 中綴式 字尾式。分三行輸出,順序是字首式 中綴式 字尾式。

sample input

a*b+(c-d/e)*f#
sample output

+*ab*-c/def

a*b+c-d/e*f

ab*cde/-f*+

直接貼鏈結吧。

這老哥是用樹來存的,然後用遍歷來實現。這道題也可以用棧做(我真是不想寫。。。太長了)

#include#include#includestruct node

;char s[110],s1[110],s2[110];

int q;

void post()

y--;

}else if(s[q] == '+' || s[q] == '-')

s2[y++] = s[q];

}else if(s[q] == '*' || s[q] == '/')

s2[y++] = s[q];}}

while(y != 0)

s1[x] = '\0';

}void preorder(struct node *p)

void inorder(struct node *p)

void postorder(struct node *p)

int main()

,*pi;

for(i = 0; i < q; i++)

else

}//分別遍歷

preorder(po[0]);

printf("\n");

inorder(po[0]);

printf("\n");

postorder(po[0]);

printf("\n");

return 0;

}

算術表示式的轉換

小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。輸入 輸入一算術表示式,以 字元作為結束標誌。資料保證無空格,只有一組...

算術表示式的轉換

time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...

算術表示式的轉換

time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...