前缀后缀算数运算编程要领.docVIP

  • 3
  • 0
  • 约3.53千字
  • 约 7页
  • 2017-07-08 发布于湖北
  • 举报
一、设计思想 中缀转化为后缀算法过程中要使用一个栈和两个数组,(栈用来存放运算符,一个数组用来存放中缀表达式,两一个则是存放后缀表达式)表达式的转换过程如下: (1)、将表达式开始符压入运算符栈,作为栈底元素。从左到右次扫描中缀表达式的每一个字符如果遇到的是开括号“(”,则将它们压入一个操作符栈(不需要与栈顶操作符相比较),它表明一个新的计算层次的开始,在遇到和它匹配的闭括号“)”时,将栈中的元素弹出来并放入后缀表达式中,直到栈顶元素为“(”时,将栈顶元素“(”弹出(不需要加入后缀表达式),表明这一层括号内的操作处理完毕将表达式开始符压入运算符栈,作为栈底元素。从到扫描中缀表达式的每一个字符如果遇到的是开括号“”,则将它们(不需要与栈顶操作符相比较),它表明一个新的计算层次的开始,在遇到和它匹配的闭括号“”时,将栈中的元素弹出来并放入缀表达式中,直到栈顶元素为“”时,将栈顶元素“”弹出(不需要加入后缀表达式),表明这一层括号内的操作处理完毕 图1 xxxx算法流程图 三、源代码 下面是中缀转换前缀表达式 int f(char c) //判断运算符级别函数; { int f=-1; switch(c) { case+: case-:f=1;break; case*: case/:f=2;break; default:f=0;break; }

文档评论(0)

1亿VIP精品文档

相关文档