leetcode上的題,只有+-*/,空格,計算所給表示式的數值
我現在用的辦法是:中綴表示式轉字尾表示式,然後計算
但是leetcode最後乙個示例是長度為20w的表示式,直接給我弄超時了,先把**放在這裡吧
//計算器
#include #include #include #includeusing namespace std;
class solution
return false;
}void trim(string &s)}}
int gettokvalinner(const string &s)
int gettokvaloutter(const string &s)
int calculate(string &s)
//如果是符號,判斷優先順序
if (tok.empty())
else
else
}} //優先順序不滿足,正常入棧
tok.push_back(a);}}
while (!tok.empty())
//cout << "逆序表示式:" << endl;
/* for (auto it : result)
coutfor (auto it : result)
case '-':
case '*':
case '/':
}//cout
}else
}return num.front();
}};int main()
分數四則運算器
好的,先弄出個類來,如下 view code 1 class fraction2 各成員實現如下 view code 1 建構函式 2fraction fraction intx,inty 310 denominator y 11 1213 fraction fraction 1417 加法 18c...
C 實現四則運算器 帶括號
基本分析可以看另一篇文章c 實現四則運算器 無括號 棧的實現 ifndef stack h define stack h includeclass stack int stack int unsigned int capacity bottom new int capacity 1 top bott...
C 實現四則運算器 無括號
完成度更高的有括號版本c 實現四則運算器 有括號 對於無括號的計算器,實現起來比較容易,下面讓我們一步步實現。舉例首先明確需要實現怎樣的程式,對於無括號的計算器,大概做成這樣就可以了 52 34 3 4 2 分析 對於例子中的表示式,由於乘除運算的優先順序高於加減運算,我們不能直接從左到右進行。但四...