版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、东莞理工学院计算机学院2015-2016 第 1 学期算法与数据结构实验报告姓名:陈映琼学号:201441404142题目:设带头结点的单链表 l1 和 l2 中分别存放着两个数据元素集合,编写算法判断集合 l1 是否是 l2 的子集,即判断集合 l1 中的数据元素是否都是集合l2 中的数据元素。问题描述:有两个带头结点的单链表 l1 和 l2 中分别存放着数据元素集合,判断集合 l1 是否是集合 l2 的子集。模块划分:第一个模块,定义单链表结点的结构体,第二个模块,设计一个函数,创建头结点,第三个模块,编写一个将元素 e 插入到链表 l 的第 i 个位置的函数,第四个模块,编写一个输出带头
2、结点单链表的数据元素的函数,第五个模块,首先编写一个输出带头结点单链表的长度的函数,再编写一个判断集合 l1 中的数据元素是否都是集合 l2 中的数据元素,这个函数需调用输出长度的函数,第六个模块,编写 main 函数,测试代码。源 程 序 : #include #include typedef int status; typedef int elemtype; #define false 0#define true 1typedef struct nodeelemtype data;/ 数据域struct node* next;node,*linklist;linklist initlist
3、()/创建头结点linklist l;l = (linklist)malloc(sizeof(node); if(l=null)printf(申请头结点失败!n); return null;l-next = null; return l;status listinsert(linklist *l,int i,elemtype e)/将元素 e 插入到链表 l的第 i 个位置int j = 1; linklist p,s;p = *l;/p 直接等于链表 l,才有头结点while (p & jnext;+j;if(!p | j i)return false;s = (linklist)mallo
4、c(sizeof(node); s-data = e;s-next = p-next;/这里 p-next 就是指向位置 ip-next = s; return true;void printlist(linklist l)linklist p; p = l-next;while (p != null)printf(%dt,p-data); p = p-next;printf(n);status length(linklist head)linklist p = head-next; status i = 0;while(p != null)return i;i+;p = p-next;voi
5、d judge(linklist head1,linklist head2)linklist p1 = head1-next,p2 = head2-next; if(length(head1) length(head2)printf(集合 l1 不是集合 l2 的子集。n); return;while(p1 != null)p2 = head2-next; while(1)if(p2 != null)&(p1-data != p2-data) p2 = p2-next;if(p2 != null)&(p1-data = p2-data) break;if(p2 = null)printf(集合
6、 l1 不是集合 l2 的子集。n); return;p1 = p1-next;printf(集合 l1 是集合 l2 的子集。n);int main()linklist head1,head2; int len,i,num;head1 = initlist(); head2 = initlist();printf(请输入集合 l1 元素的个数。n); scanf(%d,&len);printf(请输入元素:n);for(i = 1;i = len;i+)scanf( %d,&num);listinsert(&head1,i,num);printlist(head1);printf(请输入集合
7、 l2 元素的个数。n); scanf(%d,&len);printf(请输入元素:n);for(i = 1;i = len;i+)scanf( %d,&num); listinsert(&head2,i,num);printlist(head2);judge(head1,head2); return 0;测试用例及结果:“”“”at the end, xiao bian gives you a passage. minand once said, people who learn to learn are very happy people. in every wonderful life,
8、 learning is an eternal theme. as a professional clerical and teaching position, i understand the importance of continuous learning, life is diligent, nothing can be gained, only continuous learning can achieve better self. only by constantly learning and mastering the latest relevant knowledge, can employees from all walks of life keep up with the pace of enterprise development and innovate to meet the needs of the market. this doc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年医用材料制造项目投资申请报告代可行性研究报告
- 2024项目程序代码开发安全规范
- 资产评估学教程-练习答案 2
- 2023-2024学年广东省深圳市龙华区九年级(上)期中英语试卷
- 百家号批量发布软件怎么赛选关键词
- 三年级数学计算题专项练习及答案
- 电冰箱、空调器安装与维护电子教案 2.2 电冰箱的拆装
- 再生育申请审批表
- 广东省深圳市罗湖区2024-2025学年一年级上学期月考语文试卷
- 黑龙江省齐齐哈尔市富裕县第二中学2024-2025学年九年级上学期11月期中考试化学试题(含答案)
- MOOC 循证医学-南通大学 中国大学慕课答案
- 临床分子生物学检验技术习题(附答案)
- 农村留守儿童心理健康状况调查研究
- 手术室锐器刺伤
- 中国食物成分表2018年(标准版)第6版
- 消防安全教育主题班会:森林防火与消防安全 课件
- 【00后大学生理财意识与规划探究(定量论文)11000字】
- 公路消防知识培训内容
- 吊车吊装方案计算书
- 2024年云南省数字经济产业投资集团有限公司招聘笔试参考题库含答案解析
- 警方开展心理辅导活动方案
评论
0/150
提交评论