资源简介
本代码可简单实现中缀表达式转换为逆波兰表达式,设计的栈底字符为#号,输入串默认尾部追加#号,没有单独将非运算符归入各自的栈,只是输出成一个逆波兰表达式的字符串。比较简单,如有错误之处,望您评论指出。
代码片段和文件信息
#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 < infix.length(); 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++源码
评论
共有 条评论