text2-9.htm

来自「浙江大学计算机学院数据结构课程的教学课件」· HTM 代码 · 共 68 行

HTM
68
字号
<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">第二章</font><b>|</b><font face="宋体" size="2"><a href="../text3/text3-0.htm">第三章</a></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">
   
<font size="4"><b><font face="Arial, Helvetica, sans-serif" size="5" color="#FF0033">Program</font><font face="Arial, Helvetica, sans-serif">

void <i><font color="#FF0033">padd</font></i>( int starta, int  finisha, int startb, int finishb, int *startd,
                    int *finishd)
{ <font size="3" color="#FF0099">/* add A(x) and B(x) to obtain D (x) */</font>
    float coefficient;
    *startd = avail;
    while ( starta <= finisha && startb <=finishb)
        switch (COMPARE(terms [starta].expon, terms [startb.expon]))  {
           case -1:  <font color="#FF0099" size="3">/ * a expon < b expon */</font>
                         attach(terms[startb].coef, terms[startb].expon);
                         startb ++;
                         break;
           case 0: <font color="#FF0099" size="3"> /*equal exponents */</font>
                        coefficient = terms[starta].coef + terms[startb].coef;
                        if (coefficient)
                                 attach(coefficient, terms[starta].expon);
                        starta++;
                        startb ++;
                        break;
          case 1: <font size="3" color="#FF0099"> /* a expon > b expon */</font>
                        attach(terms[starta].coef,terms[starta].expon);
                        starta++;
	}
	<font size="3" color="#FF0099">/ * add in remaining terms of A(x) */</font>
    for (; starta <= finisha;  starta++)
            attach(terms[starta].coef,terms[starta].expon);
<font size="3" color="#FF0099">	/ * add in remaining terms of B(x) */</font>
    for (; startb <= finishb;  startb++)
           attach(terms[startb].coef,terms[startb].expon);
    *finishd = avail -1;
}

void attach (float coefficient, int exponent)
{ <font color="#FF0099" size="3"> /* add a new term to the polynomial */</font>
     if (avail > MAX_TERMS)  {
        fprintf ( stderr, "Too many terms in the polynomial \ n");
        exit(1);
     }
    terms[avail].coef = coefficient;
    terms[avail++].expon = exponent;
}</font></b></font>
<img src="IMAGE/2-8.gif" width="456" height="196">
</pre>
<table width="731" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="327">&nbsp;</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="text2-index.htm"></map></a></td>
    <td width="131"><font face="楷体_GB2312" size="2"><b><a href="text2-8.htm">上一页</a> 
      <a href="text2-10.htm">下一页</a> </b></font></td>
  </tr>
</table>
<pre align="left">&nbsp;
</pre>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?