线性表作业参考答案

线性表作业参考答案

ID:46502342

大小:292.84 KB

页数:11页

时间:2019-11-24

线性表作业参考答案_第1页
线性表作业参考答案_第2页
线性表作业参考答案_第3页
线性表作业参考答案_第4页
线性表作业参考答案_第5页
资源描述:

《线性表作业参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章线性表作业参考答案作业1.1用顺序表表示集合,设计一个算法实现集合的求差集运算,即C=A-B。算法分析:C中元素为A中所有不属于B的元素。扫描A中元素,若它与B中所有元素均不相同,表示是差集元素,将其放到C中。typedefstruct{ElemType*elem;//存储空间基址intlength;//当前长度intlistsize;//当前分配的存储容量}SqList;Voiddiffence(SqlistA,SqlistB,SqlistC){inti,j,k=0;for(i=0;i

2、gth;i++){j=0;while(j

3、List&L){//对顺序表实现就地逆序n=L.lengthfor(i=0;i

4、数据域structLnode*next;//指针域}Lnode,*linklist;StatusDELmink_maxk(LinkLlist&L,ElemTypemink,ElemTypemaxk){p=L->next;q=L;//p指向当前链结点,q指向前一个链结点if(!p)returnERROR;//空链表while(p!=NULL&&p->datanext;}if(!p)retutnERROR;//找不到指定范围的数据elsewhile(p->data<=maxk&

5、&p!=NULL){r=p;//删除链结点pp=p->next;free(r);}q->next=p;//删除若干链结点后,重新建立链接}//DELmink_maxk作业2.2设线性表A=(a1,a2,…,an),B=(b1,b2,…,bm),试写一个按下列规则合并A、B为线性表C的算法,即使得C=(a1,b1,a2,b2,…,am,bm,bm+1,…,bn)当m<=n或C=(a1,b1,a2,b2,…,an,bn,an+1,…,am)当m>n线性表A、B和C均为单链表作存储结构,且C表利用A表和B表中的

6、结点空间构表。注意:单链表的长度值m和n均未显式存储。算法:statusCOMBINE(linklistA,linklistB,linklist&C){C=A;a=A->next;b=B->next;If(a==NULL){A->next=B;ReturnOk;}do{p=a->next;q=b->next;a->next=b;b->next=p;a=p;b=q;}while(p->next&&q);if(p->next==NULL)a->next=b;}//COMBINE作业3.1假设某个单向循环链表的

7、长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。算法思路:首先找到s所指链结点的直接前驱结点(即将被删除的链结点,算法中由q指出其地址)与直接前驱结点的直接前驱结点(算法中由r指出其地址),然后做删除操作。算法:StatusDelS(Linklist&s){r=s;q=s->next//q指向s的下一个结点while(q->next!=s){r=q;q=q->next;}r->next=s;free(q);}//DelS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。