逆波兰表达式的概念
又称为后缀表达式,其特点是操作符位于操作数之后,目前,这儿只解决传入的字符串为逆波兰表达式的问题!!
例如:表达式为: int ptr[] = { 12, 3, 4 , ‘+’, ‘*’, 6, ‘-‘, 8, 2, ‘/’, ‘-‘}; 已经将此表达式放入数组中存储
那么如何解决此类问题呢??
思路在此
代码敬上
//b、逆波兰表达式(后缀表达式)求值
int IsNumber(char ch) //判断该字符是否为数字 ,是返回1, 不是返回0
{
if ('-' == ch || '+' == ch ||
'*' == ch || '/' == ch)
return 0;
else
return 1;
}
int RPNValue(int* Ptr, int _size)
{
assert(Ptr); //参数检测
StackD s;
int size = _size;
int i = 0;
StackDI