資源簡介
一個簡單的算法,利用棧實現中綴表達式與后綴表達式的轉換
代碼片段和文件信息
#include?
#include?
#include?
using?namespace?std;
bool?islegal(char?ch)
{
????????return?((ch?>=?‘0‘?&&?ch?<=?‘9‘)||(ch?>=?‘a‘&&ch?<=?‘z‘)||(ch>=?‘A‘&&ch<=‘Z‘));
}
bool?isOperator(char?ch)
{
????????switch(ch)
????????{
????????????????case?‘+‘:
????????????????case?‘-‘:
????????????????case?‘*‘:
????????????????case?‘/‘:
case?‘%‘:
????????????????????????return?true;
????????????????default:
????????????????????????return?false;
????????}
}
bool?lowerPriority(char?a?char?b)
{
????????if((a?==?‘+‘?||?a?==?‘-‘)?&&?(b?==?‘*‘?||?b?==?‘/‘||b?==?‘%‘))
????????????????return?true;
????????else
????????????????return?false;
}
bool?transformer(string?&inExpr?string?&outExpr)
{
????????string::size_type?idx?size;
????????stack
評論
共有 條評論