資源簡介
本代碼可簡單實現中綴表達式轉換為逆波蘭表達式,設計的棧底字符為#號,輸入串默認尾部追加#號,沒有單獨將非運算符歸入各自的棧,只是輸出成一個逆波蘭表達式的字符串。比較簡單,如有錯誤之處,望您評論指出。
代碼片段和文件信息
#include?“InversePolandexpression.h“
InversePolandexpression::InversePolandexpression()
{
}
InversePolandexpression::~InversePolandexpression()
{
}
bool?InversePolandexpression::isHigherPriority(int?left?int?right)
{
if?(left?>?right)
{
return?true;
}
else
{
return?false;
}
}
int?InversePolandexpression::getPrecedence(char?now)
{
switch?(now)
{
case?‘+‘:
case?‘-‘:
return?1;
case?‘@‘:
case?‘*‘:
case?‘/‘:
return?2;
case?‘^‘:
case?‘%‘:
return?3;
case‘#‘:
default:
return?0;
}
}
string?InversePolandexpression::translateStringToexpression(string?infix)
{
string?result;
m_stack.push(‘#‘);//為主棧自動添加一個標記符
for?(int?i?=?0;?i? {
if?(infix[i]?==?‘#‘)
{
break;
}
if?(isalpha(infix[i
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2488??2015-12-18?21:43??InversePolandex
?????文件?????????607??2015-12-18?21:02??InversePolandex
?????文件?????????478??2015-12-18?20:43??test.cpp
- 上一篇:實現各種波形的簡易波形發生器
- 下一篇:九宮格拼圖C++源碼
評論
共有 條評論