📄 class06.htm
字号:
</tr>
<tr>
<td bgcolor="#CCCCFF">30</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">42</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">77</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="40" height="19" valign="top">
<p> </p>
<p> </p>
<p><br>
<-<font color="#FF0033">25</font> </p>
<p> </p>
</td>
<td width="33" height="19">
<table width="33" border="1" cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr bgcolor="#FFFFFF">
<td>
<div align="center">1</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">2</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">3</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">4</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">5</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">6</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">7</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">8</div>
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td>
<div align="center">9</div>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="64" height="19">
<table width="33" border="1" cellspacing="0">
<tr>
<td bgcolor="#FFCCCC">12</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">13</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">21</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">24</td>
</tr>
<tr>
<td><font color="#FF0033">25</font></td>
</tr>
<tr bgcolor="#CCCCFF">
<td>28</td>
</tr>
<tr bgcolor="#CCCCFF">
<td>30</td>
</tr>
<tr bgcolor="#CCCCFF">
<td>42</td>
</tr>
<tr bgcolor="#CCCCFF">
<td>77</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="62" height="19"> </td>
<td width="33" height="19">
<table width="33" border="1" cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr>
<td>
<div align="center">1</div>
</td>
</tr>
<tr>
<td>
<div align="center">2</div>
</td>
</tr>
<tr>
<td>
<div align="center">3</div>
</td>
</tr>
<tr>
<td>
<div align="center">4</div>
</td>
</tr>
<tr>
<td>
<div align="center">5</div>
</td>
</tr>
<tr>
<td>
<div align="center">6</div>
</td>
</tr>
<tr>
<td>
<div align="center">7</div>
</td>
</tr>
<tr>
<td>
<div align="center">8</div>
</td>
</tr>
<tr>
<td>
<div align="center">9</div>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="49" height="19">
<table width="40" border="1" cellspacing="0">
<tr>
<td bgcolor="#FFCCCC">12</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">13</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">21</td>
</tr>
<tr>
<td><font color="#FF0033">24</font></td>
</tr>
<tr>
<td bgcolor="#CCCCFF">28</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">30</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">42</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">77</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="33" height="19" valign="top">
<p> </p>
<p> </p>
<p>-><font color="#FF0033">24</font></p>
</td>
<td width="34" height="19">
<table width="33" border="1" cellspacing="0" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">
<tr>
<td>
<div align="center">1</div>
</td>
</tr>
<tr>
<td>
<div align="center">2</div>
</td>
</tr>
<tr>
<td>
<div align="center">3</div>
</td>
</tr>
<tr>
<td>
<div align="center">4</div>
</td>
</tr>
<tr>
<td>
<div align="center">5</div>
</td>
</tr>
<tr>
<td>
<div align="center">6</div>
</td>
</tr>
<tr>
<td>
<div align="center">7</div>
</td>
</tr>
<tr>
<td>
<div align="center">8</div>
</td>
</tr>
<tr>
<td>
<div align="center">9</div>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
<td width="87" height="19">
<table width="33" border="1" cellspacing="0">
<tr>
<td bgcolor="#FFCCCC">12</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">13</td>
</tr>
<tr>
<td bgcolor="#FFCCCC">21</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">28</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">30</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">42</td>
</tr>
<tr>
<td bgcolor="#CCCCFF">77</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="5" height="19">插入前n=8;插入后n=9;</td>
<td width="62" height="19"> </td>
<td colspan="5" height="19">删除前n=8;删除后n=7;</td>
</tr>
</table>
<br>
<table width="537" border="0" cellspacing="0">
<tr bgcolor="#FFCCCC">
<td height="30">
<div align="center"><a name="#02"></a>顺序表的插入算法</div>
</td>
</tr>
<tr bgcolor="#0066FF">
<td>
<p><font color="#FFFF00"><b>status ListInsert(List *L,int i,ElemType e)
{</b></font></p>
<p><b><font color="#FFFF00"> struct STU *p,*q; </font></b></p>
<p><b><font color="#FFFF00">if (i<1||i>L->length+1) return ERROR; </font></b></p>
<p><b><font color="#FFFF00">q=&(L->elem[i-1]); </font></b></p>
<p><b><font color="#FFFF00">for(p=&L->elem[L->length-1];p>=q;--p) </font></b></p>
<blockquote>
<p><b><font color="#FFFF00">*(p+1)=*p; </font></b></p>
</blockquote>
<p><b><font color="#FFFF00">*q=e; </font></b></p>
<p><b><font color="#FFFF00">++L->length; </font></b></p>
<p><b><font color="#FFFF00">return OK; </font></b></p>
<p><b><font color="#FFFF00">}/*ListInsert Before i */ </font></b></p>
</td>
</tr>
<tr bgcolor="#FFCCCC">
<td height="31">
<div align="center"><a name="#03"></a>顺序表的合并算法</div>
</td>
</tr>
<tr bgcolor="#0066FF">
<td>
<p><b><font color="#FFFF00">void MergeList(List *La,List *Lb,List *Lc)
{</font></b></p>
<p><b><font color="#FFFF00"> ElemType *pa,*pb,*pc,*pa_last,*pb_last; </font></b></p>
<p><b><font color="#FFFF00">pa=La->elem;pb=Lb->elem; </font></b></p>
<p><b><font color="#FFFF00">Lc->listsize = Lc->length = La->length + Lb->length;
</font></b></p>
<p><b><font color="#FFFF00">pc = Lc->elem = </font></b></p>
<blockquote>
<p><b><font color="#FFFF00">(ElemType *)malloc(Lc->listsize * sizeof(ElemType));
</font></b></p>
</blockquote>
<p><b><font color="#FFFF00">if(!Lc->elem) </font></b><b><font color="#FFFF00">exit(OVERFLOW);
</font></b></p>
<p><b><font color="#FFFF00">pa_last = La->elem + La->length - 1; </font></b></p>
<p><b><font color="#FFFF00">pb_last = Lb->elem + Lb->length - 1; </font></b></p>
<p><b><font color="#FFFF00">while(pa<=pa_last && pb<=pb_last) { </font></b></p>
<blockquote>
<p><b><font color="#FFFF00">if(Less_EqualList(pa,pb)) *pc++=*pa++; </font></b></p>
<p><b><font color="#FFFF00">else *pc++=*pb++; </font></b></p>
</blockquote>
<p><b><font color="#FFFF00">} </font></b></p>
<p><b><font color="#FFFF00">while(pa<=pa_last) *pc++=*pa++; </font></b></p>
<p><b><font color="#FFFF00">while(pb<=pb_last) *pc++=*pb++; </font></b></p>
<p><b><font color="#FFFF00">}</font></b></p>
</td>
</tr>
<tr bgcolor="#FFCCCC">
<td height="28">
<div align="center">顺序表的查找算法</div>
</td>
</tr>
<tr bgcolor="#0066FF">
<td>
<p><font color="#FFFF00"><b>int LocateElem(List *La,ElemType e,int type)
{ </b></font></p>
<p><font color="#FFFF00"><b>int i; </b></font></p>
<p><font color="#FFFF00"><b>switch (type) { </b></font></p>
<blockquote>
<p><font color="#FFFF00"><b>case EQUAL: </b></font></p>
<blockquote>
<p><font color="#FFFF00"><b>for(i=0;i<</b></font><font color="#FFFF00"><b><la->length;i++)
</b></font></p>
<p><font color="#FFFF00"><b> if(EqualList(&La->elem[i],&e)) </b></font></p>
<blockquote>
<p><font color="#FFFF00"><b>return 1; </b></font></p>
</blockquote>
<p><font color="#FFFF00"><b>break; </b></font></p>
</blockquote>
<p><font color="#FFFF00"><b>default: </b></font></p>
<blockquote>
<p><font color="#FFFF00"><b>break; </b></font></p>
</blockquote>
<p><font color="#FFFF00"><b>} </b></font></p>
</blockquote>
<p><font color="#FFFF00"><b>return 0; </b></font></p>
<p><font color="#FFFF00"><b>}</b></font></p>
</td>
</tr>
<tr bgcolor="#FFCCCC">
<td height="32">
<div align="center">顺序表的联合算法</div>
</td>
</tr>
<tr bgcolor="#0066FF">
<td>
<p><b><font color="#FFFF00">void UnionList(List *La, List *Lb) {</font></b></p>
<p><b><font color="#FFFF00"> int La_len,Lb_len; int i; ElemType e; </font></b></p>
<p><b><font color="#FFFF00">La_len=ListLength(La); Lb_len=ListLength(Lb);
</font></b></p>
<p><b><font color="#FFFF00"> for(i=0;i<Lb_len;i++) { </font></b></p>
<blockquote>
<p><b><font color="#FFFF00">GetElem(*Lb,i,&e); </font></b></p>
<p><b><font color="#FFFF00">if(!LocateElem(La,e,EQUAL))</font></b></p>
<blockquote>
<p><b><font color="#FFFF00"> ListInsert(La,++La_len,e); </font></b></p>
</blockquote>
<p><b><font color="#FFFF00">}</font></b></p>
</blockquote>
<p><b><font color="#FFFF00"> }</font></b></p>
</td>
</tr>
</table>
</blockquote>
<p>三、<a href="Listdemo06.txt">C语言源程序范例</a></p>
<p>四、总结</p>
<blockquote>
<p><a href="#01">线性表的顺序表示</a></p>
<a href="#02">顺序表的插入算法</a>
<p><a href="#03">顺序表的合并算法</a></p>
<p> </p>
</blockquote>
<p><a href="../index.htm">回目录</a> <a href="../class05/class05.htm">上一课</a> <a href="../class07/class07.htm">下一课</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -