對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。
輸入乙個算術表示式,以『#』字元作為結束標誌。
輸出該表示式轉換所得到的字尾式。
a*b+(c-d/e)*f#
ab*cde/-f*+
最近在看棧的內容,但對於這道題,沒有想法,看到網上的題解,才明白怎麼回事,思路就是,建立乙個棧,是數字就輸出,是運算子的話,要先比較現在棧頂的運算子和我當前的優先順序,現在的高,進棧,原棧頂的高,讓他出棧,讓現在的進棧,如果遇見「(」的話,進棧,在遇見「)」之前的運算子都進棧,當遇見「)」,把「(」的運算符號都出棧,最後把棧中所有符號輸出,棧空
#include#includechar cmp(char a)int main()
else
else
}else
t = n;
}else}}
}}
while(t--)
printf("\n");
}return 0;
}#include #include #include #include #include using namespace std;
char cmp(char a)
typedef struct
sqstack;
char a[1000];
void initstack(sqstack &s)
void push(sqstack &s, char e)
void out(sqstack &s)
else
}else
s.top--;
}else}}
}}
while(s.top != s.base)
cout<
資料結構實驗之棧二 一般算術表示式轉換成字尾式
abc defg hb 資料結構實驗之棧二 一般算術表示式轉換成字尾式 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2132 description 對於乙個基於...
資料結構實驗之棧二 一般算術表示式轉換成字尾式
description 對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。input 輸入乙個算術表示式,以 字元作為結束標誌。output 輸出該表示式轉換所得到的字尾式。sample input a b c d e f sample output ab cde f include...
資料結構實驗之棧二 一般算術表示式轉換成字尾式
time limit 1000ms memory limit 65536k 對於乙個基於二元運算子的算術表示式,轉換為對應的字尾式,並輸出之。輸入乙個算術表示式,以 字元作為結束標誌。輸出該表示式轉換所得到的字尾式。a b c d e f ab cde f include include inclu...