



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二次作业1. 试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?2 .描述以下三个概念的区别:头指针、头结点、首元结点(第一个元素结点)。在单链表中设置头结点的作用是什么?3. 已知P结点是双向链表的中间结点,试从下列提供的答案中选择合适的语句序列。 a在P结点后插入S结点的语句序列是-。 b在P结点前插入S结点的语句序列是-。 c删除P结点的直接后继结点的语句序列是-。 d删除P结点的直接前驱结点的语句序列是-。 e删除P结点的语句序列是-。 (1)P-next=P-next-next; (10) P-prior-next=P; (2)P-prior=P-prior-prior; (11) P-next-prior =P; (3) P-next=S; (12)P-next-prior=S; (4) P-prior=S; (13) P-prior-next=S; (5)S-next=P; (14) P-next-prior=P-prior (6)S-prior=P; (15)Q=P-next; (7) S-next= P-next; (16)Q= P-prior; (8) S-prior= P-prior; (17)free(P); (9) P-prior-next=p-next; (18)free(Q);4. 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。5. 假设有一个带表头结点的链表,表头指针为head,每个结点含三个域:data, next和prior。其中data为整型数域,next和prior均为指针域。现在所有结点已经由next域连接起来,试编一个算法,利用prior域(此域初值为NULL)把所有结点按照其值从小到大的顺序链接起来。6. 已知线性表的元素按递增顺序排列,并以带头结点的单链表作存储结构。试编写一个删除表中所有值大于min且小于max的元素(若表中存在这样的元素)的算法。1. 【严题集2.3】试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?答: 顺序存储时,相邻数据元素的存放地址也相邻(逻辑与物理统一);要求内存中可用存储单元的地址必须是连续的。优点:存储密度大(1?),存储空间利用率高。缺点:插入或删除元素时不方便。链式存储时,相邻数据元素可随意存放,但所占存储空间分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针优点:插入或删除元素时很方便,使用灵活。缺点:存储密度小(next=P-next-next; (10) P-prior-next=P; (2)P-prior=P-prior-prior; (11) P-next-prior =P; (3) P-next=S; (12)P-next-prior=S; (4) P-prior=S; (13) P-prior-next=S; (5)S-next=P; (14) P-next-prior=P-prior (6)S-prior=P; (15)Q=P-next; (7) S-next= P-next; (16)Q= P-prior; (8) S-prior= P-prior; (17)free(P); (9) P-prior-next=p-next; (18)free(Q);解答: a.(12)(7)(3)(6) 3必须在12和7的后面,其余的顺序可变b.(13)(8)(4)(5) 同上c.(15)(1)(11)(18) 不可变d.(16)(2)(10)(18) 不可变e.(9)(14)(17)4. 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。 注:统计结点个数是【省统考样题】的要求,也是教材P60 4-6计算链表长度的要求,编程又简单,很容易作为考题。解:编写C程序如下(已上机通过):全局变量及函数提前说明:-#include#includetypedef struct liuyuint data;struct liuyu*link;test;liuyu *p,*q,*r,*head;int m=sizeof(test);void main () /*第一步,从键盘输入整数,不断添加到链表*/int i;head=(test*)malloc(m); /*m=sizeof(test);*/p=head; i=0;while (i!=-9999) printf(/ninput an integer stop by -9999:);scanf(%d,&i);p-data=i; /* input data is saved */p-link=(test*)malloc(m); /*m=sizeof(test);*/q=p;p=p-link;q-link=NULL; /*原先用p-link=NULL似乎太晚!*/ p=head; i=0; /*统计链表结点的个数并打印出来*/while (p-link!=NULL)printf(%d,p-data);p=p-link;i+;printf(n node number=%dn, i-1); /*结点的个数不包括-9999*/5. 定义类型LinkList如下:typedef struct node int data; struct node *next,*prior;LinkList;此题可采用插入排序的方法,设p指向待插入的结点,用q搜索已由prior域链接的有序表找到合适位置将p结点链入。算法描述如下:insert (LinkList *head) LinkList *p,*s,*q; p=head-next; /p指向待插入的结点,初始时指向第一个结点 while(p!=NULL) s=head; / s指向q结点的前趋结点 q=head-prior; /q指向由prior域构成的链表中待比较的结点 while(q!=NULL) & (p-dataq-data) /查找插入结点p的合适的插入位置 s=q; q=q-prior; s-prior=p; p-prior=q; /结点p插入到结点s和结点q之间 p=p-next;6. 算法描述如下:delete(LinkList *head, i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环境保护与施工后期恢复综合措施
- 2025年混凝土电杆行业研究报告及未来发展趋势预测
- 2025年机器翻译行业研究报告及未来发展趋势预测
- 2025年电梯考试考前冲刺测试卷及参考答案详解(培优A卷)
- 医疗机构护士操作规范手册
- 2025年活塞式隔膜泵行业研究报告及未来发展趋势预测
- 2025年环卫机械设备行业研究报告及未来发展趋势预测
- 电商网站建设全流程实施方案
- 2025中考数学总复习《数据与统计图表》能力提升B卷题库(综合卷)附答案详解
- 中小学科研项目申报指导及实例分析
- 儿童社区获得性肺炎诊疗规范(2025版)
- 渔人跨年活动方案
- DB43∕T 2638-2023 文物建筑属性数据采集技术规范
- 年产5.2GW光伏组件项目环评报告表
- DB42T 1049-2015 房产测绘技术规程
- 基于Spring Boot的服装店铺管理系统论文
- 城市之星活动方案
- PLC基础知识入门课件
- 企业统借统还管理制度
- 蜂窝无源物联网标签技术白皮书
- 招聘中的大数据分析与精准匹配
评论
0/150
提交评论