text3-17.htm
来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 62 行
HTM
62 行
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" link="#0000FF" vlink="#3399FF" alink="#FF0066">
<div id="Layer1" style="position:absolute; width:711px; height:21px; z-index:1; top: 10px; background-color: #CCCCCC; layer-background-color: #CCCCCC; border: 1px none #000000; left: 26px"><b>|</b><font face="宋体" size="2"><a href="../text1/text1-0.htm">第一章</a></font><b>|</b><font face="宋体" size="2"><a href="../text2/text2-0.htm">第二章</a></font><b>|</b><font face="宋体" size="2">第三章</font><b>|</b><font face="宋体" size="2"><a href="../text4/text4-0.htm">第四章</a></font><b>|</b><font face="宋体" size="2"><a href="../text5/text5-0.htm">第五章</a></font><b>|</b><font face="宋体" size="2"><a href="../text6/text6-0.htm">第六章</a></font><b>|</b><font face="宋体" size="2"><a href="../text7/text7-0.htm">第七章</a></font><b>|</b><font face="宋体" size="2"><a href="../text8/text8-0.htm">第八章</a></font><b>|</b><font face="宋体" size="2"><a href="../text9/text9-0.htm">第九章</a></font><b>|</b><font face="宋体" size="2"><a href="../text10/text10-0.htm">第十章</a></font><b>|</b><font size="2" face="宋体"><a href="../textA/textA-0.htm">算法分析</a><b><font color="#000000">|</font></b>
</font></div>
<pre align="left"> </pre>
<div align="center">
<div align="left">
<pre align="left"><font face="Arial, Helvetica, sans-serif" size="5" color="#FF0033"><b>Function to evaluate a postfix expression
</b></font><b><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">int</font><font face="Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif"> <font face="Arial, Helvetica, sans-serif" size="4" color="#FF0033">eval</font></font></font><font face="Arial, Helvetica, sans-serif" size="4" color="#000000">(void)
{ <i><font size="3" color="#FF0099"> /* evaluate a postfix expression, expr, maintained as a global variable.
'\0' is the end of the expression. The stack and top of the stack are global
variables. get_token is used to return the tokentype and the character
symbol. Operands are assumed to be single character digits */</font></i>
precedence token;
char symbol;
int op1, op2;
int n = 0; <i><font size="3" color="#FF0099">/* counter for the expression string */</font></i>
int top = -1;
token = get_token(&symbol, &n);
while ( token != eos ) {
if ( token == operand )
add(&top, symbol-'0');<i><font size="3" color="#FF0099"> /* stack insert */</font></i>
else {
<i><font size="3" color="#FF0099">/* remove two operands, perform operation, and return
result to the stack */</font></i>
op2 = delete(&top); <i><font size="3" color="#FF0099">/* stack delete */</font></i>
op1 = delete(&top);
switch ( token ) {
case plus:<font color="#FF0033"> <i>add</i></font> (&top,op1+op2);
break;
case minus: <i><font color="#FF0033">add</font> </i>(&top,op1-op2);
break;
case times: <font color="#FF0033"><i>add</i> </font>(&top,op1*op2);
break;
case divide: <font color="#FF0033"><i>add</i></font> (&top,op1/op2);
break;
case mod:<i><font color="#FF0033"> add</font></i> (&top,op1%op2);
}
}
token = <i><font color="#FF0033">get_token</font></i> (&symbol, &n);
}
return delete(&top); <i><font size="3" color="#FF0099">/* return result */</font></i>
}</font></b></pre>
<table width="731" cellspacing="0" cellpadding="0">
<tr>
<td width="327"> </td>
<td width="271"><a href="../index.htm"><img width="60" height="25" usemap="#MapMap4" border="0" src="../../images/home.gif"></a><a href="../index.htm"><map name="MapMap4"><area shape="rect" coords="42,-34,88,-15" href="text0.htm"><area shape="rect" coords="4,4,55,23" href="text3-index.htm"></map></a></td>
<td width="131"><font face="楷体_GB2312" size="2"><b><a href="text3-16.htm">上一页</a>
<a href="text3-18.htm">下一页</a> </b></font></td>
</tr>
</table>
<p> </p>
</div>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?