收藏 分享(赏)

第2章作业答案 算法设计题.ppt

上传人:weiwoduzun 文档编号:5551789 上传时间:2019-03-07 格式:PPT 页数:12 大小:199.50KB
下载 相关 举报
第2章作业答案 算法设计题.ppt_第1页
第1页 / 共12页
第2章作业答案 算法设计题.ppt_第2页
第2页 / 共12页
第2章作业答案 算法设计题.ppt_第3页
第3页 / 共12页
第2章作业答案 算法设计题.ppt_第4页
第4页 / 共12页
第2章作业答案 算法设计题.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、2019年3月7日,北京林业大学信息学院,(1)将两个递增的有序链表合并为一个递增的有序链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其他的存储空间。表中不允许有重复的数据。,算法设计题,2019年3月7日,北京林业大学信息学院,参考算法2.16,要单独考虑 pa-data = =pb-data,La(Lc),1,2,4,6,7,8,8,10,11,2019年3月7日,北京林业大学信息学院,void MergeList_L(LinkList /释放Lb的头结点,2019年3月7日,北京林业大学信息学院,(2)将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两

2、个链表的存储空间,不另外占用其他的存储空间。表中允许有重复的数据。,算法设计题,2019年3月7日,北京林业大学信息学院,(1)Lc指向La,(2) 依次从 La 或 Lb 中“摘取”元素值较小的结点插入到 Lc 表的表头结点之后,直至其中一个表变空为止,(3) 继续将 La 或 Lb 其中一个表的剩余结点插入在 Lc 表的表头结点之后,(4) 释放 Lb 表的表头结点,【算法思想】,2019年3月7日,北京林业大学信息学院,La,Lb,Lc,第(2)题实现过程动态演示,2019年3月7日,北京林业大学信息学院,void union(LinkList /释放Lb的头结点,2019年3月7日,北

3、京林业大学信息学院,(6)设计一个算法,通过一趟遍历在单链表中确定值最大的结点。,【算法思想】类似于求n个数中的最大数 可假设第一个结点最大,用指针pmax指向。 然后用pmax依次和后面的结点进行比较,发现大者则用pmax指向该结点。 这样将链表从头到尾遍历一遍时,pmax所指向的结点就是最大者。其中的比较语句形式如下: if(p-data pmax-data) pmax=p;,算法设计题,2019年3月7日,北京林业大学信息学院,ElemType Max (LinkList L )pmax=L-next; /假定第一个结点中数据具有最大值p=L-next-next;while(p != N

4、ULL )/如果下一个结点存在if(p-data pmax-data) pmax=p;p=p-next;return pmax-data; ,2019年3月7日,北京林业大学信息学院,(7)设计一个算法,通过一趟遍历,将链表中所有结点的链接方向逆转,且仍利用原表的存储空间。,算法设计题,【算法思想】从首元结点开始,逐个地把链表L的当前结点p插入新的链表头部,2019年3月7日,北京林业大学信息学院,a1,a2,a3,L,p,a1,a2,a3,标志后继结点q 修改指针(将p插入在头结点之后) 重置结点p(p重新指向原表中后继),2019年3月7日,北京林业大学信息学院,void inverse(LinkList ,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报