>说明: <p></p></P>* S/ \- V5 b3 ~/ y8 r1 c
><FONT size=3>1. <FONT face=宋体>本文是对严蔚敏《数据结构</FONT>(c<FONT face=宋体>语言版</FONT>)<FONT face=宋体>习题集》一书中所有算法设计题目的解决方案<p></p></FONT></FONT></P>' R* ]% `1 z* G
><FONT size=3>2. <FONT face=宋体>本解答中的所有算法均采用类</FONT>c<FONT face=宋体>语言描述</FONT>,<FONT face=宋体>设计原则为面向交流、面向阅读</FONT>,<FONT face=宋体>作者不保证程序能够上机正常运行</FONT>(<FONT face=宋体>这种保证实际上也没有任何意义</FONT>);<p></p></FONT></P>
><FONT size=3>3. <FONT face=宋体>本解答原则上只给出源代码以及必要的注释</FONT>,<FONT face=宋体>对于一些难度较高或思路特殊的题目将给出简要的分析说明</FONT>,<FONT face=宋体>对于作者无法解决的题目将给出必要的讨论</FONT>.<FONT face=宋体>目前尚未解决的题目有</FONT>: 5.20, 10.40;<p></p></FONT></P>
><FONT size=3>4. <FONT face=宋体>请读者在自己已经解决了某个题目或进行了充分的思考之后</FONT>,<FONT face=宋体>再参考本解答</FONT>,<FONT face=宋体>以保证复习效果</FONT>;<p></p></FONT></P>
><FONT size=3>5. <FONT face=宋体>由于作者水平所限</FONT>,<FONT face=宋体>本解答中一定存在不少这样或者那样的错误和不足</FONT>,<FONT face=宋体>希望读者们在阅读中多动脑、勤思考</FONT>,<FONT face=宋体>争取发现和纠正这些错误</FONT>,<FONT face=宋体>写出更好的算法来</FONT>.<p></p></FONT></P>
><FONT face=宋体>第一章</FONT> <FONT face=宋体>绪论</FONT> <p></p></P>
><FONT size=3>1.16 <p></p></FONT></P>
><FONT size=3>void print_descending(int x,int y,int z)//<FONT face=宋体>按从大到小顺序输出三个数</FONT></FONT>
><FONT size=3>1.17 <p></p></FONT></P>/ w" V9 ?. A* c0 k
><FONT size=3>Status fib(int k,int m,int &f)//<FONT face=宋体>求</FONT>k<FONT face=宋体>阶斐波那契序列的第</FONT>m<FONT face=宋体>项的值</FONT></FONT><FONT size=3>f! s( P/ B" D6 j w/ V8 H1 Q5 L, D$ g
><FONT size=3>1.18 <p></p></FONT></P>: \2 I$ }- D7 D' }. B8 H
><FONT size=3>typedef struct{
><FONT size=3>typedef struct{( C: l' x& W1 @8 p& Y. ]% y5 p1 T
><FONT size=3>void summary(resulttype result[ ])//<FONT face=宋体>求各校的男女总分和团体总分</FONT>,<FONT face=宋体>假设结果已经储存在</FONT>result[ ]<FONT face=宋体>数组中</FONT></FONT>
><FONT size=3>1.19 <p></p></FONT></P>) A3 n; [4 L; `- x
><FONT size=3>Status algo119(int a[ARRSIZE])//<FONT face=宋体>求</FONT>i!*2^i<FONT face=宋体>序列的值且不超过</FONT></FONT><FONT size=3>maxint, `- d* j+ N; T; |
><FONT size=3>1.20 <p></p></FONT></P>
><FONT size=3>void polyvalue()
><p><FONT face="Times New Roman"> </FONT></p></P>
0cm 0cm 0pt; TEXT-INDENT: 144pt; mso-char-indent-count: 9.0">第二章 线性表 <p></p></P><
><FONT size=3>2.10 <p></p></FONT></P><
><FONT size=3>Status DeleteK(SqList &a,int i,int k)//<FONT face=宋体>删除线性表</FONT>a<FONT face=宋体>中第</FONT>i<FONT face=宋体>个元素起的</FONT>k<FONT face=宋体>个元素</FONT></FONT>! n9 x$ U: M- b% f# ?
><FONT size=3>2.11<p></p></FONT></P><
><FONT size=3>Status Insert_SqList(SqList &va,int x)//<FONT face=宋体>把</FONT>x<FONT face=宋体>插入递增有序表</FONT>va<FONT face=宋体>中</FONT></FONT> W+ t: ?) `. J0 V* Y* u3 E8 z
><FONT size=3>2.12 <p></p></FONT></P><
><FONT size=3>int ListComp(SqList A,SqList B)//<FONT face=宋体>比较字符表</FONT>A<FONT face=宋体>和</FONT>B,<FONT face=宋体>并用返回值表示结果</FONT>,<FONT face=宋体>值为正</FONT>,<FONT face=宋体>表示</FONT>A>B;<FONT face=宋体>值为负</FONT>,<FONT face=宋体>表示</FONT>A<B;<FONT face=宋体>值为零</FONT>,<FONT face=宋体>表示</FONT></FONT><FONT size=3>A=B
><FONT size=3>2.13 <p></p></FONT></P><
><FONT size=3>LNode* Locate(LinkList L,int x)//<FONT face=宋体>链表上的元素查找</FONT>,<FONT face=宋体>返回指针</FONT></FONT>
><FONT size=3>2.14 <p></p></FONT></P><
><FONT size=3>int Length(LinkList L)//<FONT face=宋体>求链表的长度</FONT></FONT>
><FONT size=3>2.15 <p></p></FONT></P><
><FONT size=3>void ListConcat(LinkList ha,LinkList hb,LinkList &hc)//<FONT face=宋体>把链表</FONT>hb<FONT face=宋体>接在</FONT>ha<FONT face=宋体>后面形成链表</FONT></FONT><FONT size=3>hc
><FONT size=3>2.16 <p></p></FONT></P><
><FONT size=3><FONT face=宋体>见书后答案</FONT>. <p></p></FONT></P><
><FONT size=3>2.17 <p></p></FONT></P><
><FONT size=3>Status Insert(LinkList &L,int i,int b)//<FONT face=宋体>在无头结点链表</FONT>L<FONT face=宋体>的第</FONT>i<FONT face=宋体>个元素之前插入元素</FONT></FONT><FONT size=3>b8 j) `, b: Y G: V( u
><FONT size=3>2.18 <p></p></FONT></P><
><FONT size=3>Status Delete(LinkList &L,int i)//<FONT face=宋体>在无头结点链表</FONT>L<FONT face=宋体>中删除第</FONT>i<FONT face=宋体>个元素</FONT></FONT>
><FONT size=3>2.19 <p></p></FONT></P><
><FONT size=3>Status Delete_Between(Linklist &L,int mink,int maxk)//<FONT face=宋体>删除元素递增排列的链表</FONT>L<FONT face=宋体>中值大于</FONT>mink<FONT face=宋体>且小于</FONT>maxk<FONT face=宋体>的所有元素</FONT></FONT>6 _- a. s; s) F. G" r# K( X
><FONT size=3>2.20 <p></p></FONT></P><
><FONT size=3>Status Delete_Equal(Linklist &L)//<FONT face=宋体>删除元素递增排列的链表</FONT>L<FONT face=宋体>中所有值相同的元素</FONT></FONT>9 m o9 c) M1 S5 p6 I. \! ~
><FONT size=3>2.21 <p></p></FONT></P><
><FONT size=3>void reverse(SqList &A)//<FONT face=宋体>顺序表的就地逆置</FONT></FONT>
><FONT size=3>2.22 <p></p></FONT></P><
><FONT size=3>void LinkList_reverse(Linklist &L)//<FONT face=宋体>链表的就地逆置</FONT>;<FONT face=宋体>为简化算法</FONT>,<FONT face=宋体>假设表长大于</FONT></FONT><FONT size=3>2 V+ l7 n" `9 ~* O: J
><FONT size=3>2.23 <p></p></FONT></P><
><FONT size=3>void merge1(LinkList &A,LinkList &B,LinkList &C)//<FONT face=宋体>把链表</FONT>A<FONT face=宋体>和</FONT>B<FONT face=宋体>合并为</FONT>C,A<FONT face=宋体>和</FONT>B<FONT face=宋体>的元素间隔排列</FONT>,<FONT face=宋体>且使用原存储空间</FONT></FONT>
><FONT size=3>2.24 <p></p></FONT></P><P><FONT size=3>void reverse_merge(LinkList &A,LinkList &B,LinkList &C)//<FONT face=宋体>把元素递增排列的链表</FONT>A<FONT face=宋体>和</FONT>B<FONT face=宋体>合并为</FONT>C,<FONT face=宋体>且</FONT>C<FONT face=宋体>中元素递减排列</FONT>,<FONT face=宋体>使用原空间</FONT></FONT>' n' t! j; F+ F8 Z
>很长呀</P><
>不过还是十分感谢</P>| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |