91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發布日期: 2021-01-08
  • 標簽: 逆波蘭式??

資源簡介

使用逆波蘭式的方式進行表達式求值。在控制臺下可進行多組數據的輸入處理。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

using?namespace?std;

//比較lhs的優先級是否不高于rhs,rhs表示棧頂的符號
bool?priority(char?lhschar?rhs)
{
if?(rhs==‘(‘)
return?false;
if?(lhs==‘+‘||lhs==‘-‘)
return?true;
if?((lhs==‘*‘||lhs==‘/‘)&&(rhs==‘*‘||rhs==‘/‘))
return?true;
return?false;
}

//將中綴表達式轉換成后綴式
string?inPrefix2postPrefix(string?str)
{
string?res;//后綴表達式結果
stack?s;
for?(int?i=0;i {
//如果是數字,直接加入后綴表達式結果中
if?(isdigit(str[i]))
{
while?(i {
res+=str[i];
i++;
}
i--;//注意這里要將i減1,因為上面的循環將i多右移了一位,如果不減1,會漏掉一位
res+=“?“;
}
else?//如果是符號,需要與棧頂的元素進行比較
{
?//如果棧為空,將其直接壓入棧中;如果是左括號(,也直接將其壓入棧中
if?(s.empty()||str[i]==‘(‘)
s.push(str[i]);
else

評論

共有 條評論