資料結構實驗之棧三 字尾式求值

2021-07-15 19:32:02 字數 1037 閱讀 2922

time limit: 1000ms memory limit: 65536k

對於乙個基於二元運算子的字尾表示式(基本運算元都是一位正整數),求其代表的算術表示式的值。

輸入乙個算術表示式的字尾式字串,以『#』作為結束標誌。

求該字尾式所對應的算術表示式的值,並輸出之。

59*684/-3*+#

57

在字串中,如果是數字,則進棧,如果是運算子則將棧中的前兩個元素進行計算,然後刪除棧中的前兩個元素,並將新的計算結果入棧,全部完成後,出棧!

#include#include#include#define maxstack 1000//棧的初始儲存空間

#define maxadd 100//棧的每次分配的增量

typedef int elemtype;

typedef struct

qstack;

//初始化棧

int initstack(qstack &s)

s.top=s.base;

s.stacksize=maxstack;

return 0;

}//進棧

int pushstack(qstack &s,char e)

s.top=s.base+maxstack;

}if(e>='0'&&e<='9')

else if(e=='+'||e=='-'||e=='*'||e=='/')//對棧的前兩個數字進行運算

else if(e=='-')

else

*(s.top++)=t;

}else if(e=='*')

else if(e=='/')

else

*(s.top++)=t;}}

return 0;

}//出棧

void putstack(qstack &s)

}int main()

putstack(s);//出棧

return 0;

}

資料結構實驗之棧三 字尾式求值

time limit 1000ms memory limit 65536k 有疑問?點這裡 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 基...

資料結構實驗之棧三 字尾式求值

time limit 1000ms memory limit 65536k 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 include i...

資料結構實驗之棧三 字尾式求值

abc defg hc 資料結構實驗之棧三 字尾式求值 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2133 description 對於乙個基於二元運算子的字尾...