第三章 栈和队列ppt课件.PPT
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * case ‘’: //退栈,并将运算结果入栈 Pop(OPTR,theta); Pop(OPND,b); Pop(OPND,a); Push(OPND,Operate(a,theta,b)); break; }//switch }//while return GetTop(OPND); }//EvaluateExpression OPTR-操作符 OPND-操作数 # 3 * ( 7 3*(7-2)# - 2 5 case ‘’: //退栈,并将运算结果入栈 Pop(OPTR,theta); Pop(OPND,b); Pop(OPND,a); Push(OPND,Operate(a,theta,b)); break; }//switch }//while return GetTop(OPND); }//EvaluateExpression OPTR-操作符 OPND-操作数 # 3 * ( 7 3*(7-2)# - 2 5 OperandType EvaluateExpression(){ //算术表达式求值的算符优先算法. InitStack(OPTR); Push(OPTR,’#’); InitStack(OPND); c=getchar(); while(c!=‘#’ || GetTop(OPTR)!=‘ch’){ //非运算符,则进栈 if(!In(c,OP){ Push(OPND,c); c=getchar();} else switch(Precede(GetTop(OPTR),c)){ case ‘’: //栈顶元素优先权低 Push(OPTR,c); c=getchar(); break; case ‘=’: //脱括号 Pop(OPTR,x); c=getchar(); break; OPTR-操作符 OPND-操作数 # 3 * ( 3*(7-2)# 5 OperandType EvaluateExpression(){ //算术表达式求值的算符优先算法. InitStack(OPTR); Push(OPTR,’#’); InitStack(OPND); c=getchar(); while(c!=‘#’ || GetTop(OPTR)!=‘ch’){ //非运算符,则进栈 if(!In(c,OP){ Push(OPND,c); c=getchar();} else switch(Precede(GetTop(OPTR),c)){ case ‘’: //栈顶元素优先权低 Push(OPTR,c); c=getchar(); break; case ‘=’: //脱括号 Pop(OPTR,x); c=getchar(); break; OPTR-操作符 OPND-操作数 # 3 * ( 3*(7-2)# 5 OperandType EvaluateExpression(){ //算术表达式求值的算符优先算法. InitStack(OPTR); Push(OPTR,’#’); InitStack(OPND); c=getchar(); while(c!=‘#’ || GetTop(OPTR)!=‘ch’){ //非运算符,则进栈 if(!In(c,OP){ Push(OPND,c); c=getchar();} else switch(Precede(GetTop(OPTR),c)){ case ‘’: //栈顶元素优先权低 Push(OPTR,c); c=getchar(); break; case ‘=’: //脱括号
显示全部