




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江万里学院实验报告成绩: 教师: 刘晓利 课程名称: 数据结构 实验名称: 线性表 专业班级: 计算机111 实验小组: 第十组 实验日期: 2012-9-21 成员姓名李俊胡一凡魏净达程俊鹏成 绩9888成员姓名(以下写实验内容、分析与程序清单、调试报告等)一、实验目的:(1) 了解线性表的逻辑结构特性,以及这种特性在计算机内的两种存储结构。(2) 重点是线性表的基本操作在两种存储结构上的实现;其中以链表的操作为侧重点;并进一步学习结构化的程序设计方法。二、实验内容1、约瑟夫环问题:用链式存储表示实现约瑟夫环问题2、算法思想:(1)用循环链表模拟约瑟夫环。即该链表的尾指针指向头结点的地址。(2)创建一个循环链表存入初始数据,包括编号,密码。(3)用模拟约瑟夫环的办法将其输出,每输出一个数据循环链表中就少一个结点。3具体程序:#include #include typedef struct node int num;/编号存放地址 int sm;/密码存放地址 struct node *next; /指针域 JOS;JOS *creat(); /创建一个JOS函数函数的返回值是指向该类结构体的地址void outs(JOS *h, int m); /打印结果成 绩void main() int m; JOS *h; h=creat(); printf(n输入起始密码m(m1):);scanf(%d,&m); outs(h,m); /* 生成约瑟夫环 */JOS *creat() int i=0, mi; JOS *New, *ptr, *h; h=(JOS *)malloc(sizeof(JOS); h-next=h; /将头结点的next指向自己,构成一个循环链表 ptr=h; /令操作指针指向头结点 printf(n第%d个人密码=,i+1);scanf(%d,&mi); while( mi != -111) /指定当密码为-111时停止输入 New=(JOS *)malloc(sizeof(JOS); /定义New为新的插入结点对其分配内存空间 i+; New-num=i;New-sm=mi; /为New中的数据赋值 New-next=h; ptr-next=New; /将New插入循环链表中,新元素的next始终指向头结点 ptr=New; /操作指针移动 printf(n第%d个人密码=,i+1); scanf(%d,&mi); ptr-next= h-next; free(h); /由于对于最后一个人的操作其结点指向头结点,但头结点是为空的,所以要删除head结点。 h=ptr-next; return(h); /最后令head指针指向第一个元素的结点就可以了 void outs(JOS *h, int m) int i; JOS *q=h,*p; printf(n); while (q-next!=q) /判定条件是该环中至少还要有两个元素才能继续 for(i=1;inext; /q是一个移动指针当模拟报数报到第m个人得时候q也指向了第m个人printf(第%d人密码:%dn,q-num,q-sm); /* 输出第m个人的编号和密码 */m=q-sm; /让出列的人得密码为新密码p-next=q-next; free(q); /释放q指针模拟第m人出列q=p-next; printf(第%d人密码:%dn,q-num,q-sm); /最后环中只剩一人将其输出free(q);4、程序调试:课本中该程序有三处错误,第一结构体的指针名称为next而具体操作时指针名又为link;第二new是关键字这里我讲new改为了New;第三在outs函数中p应该为结构指针。将该错误改完后,为了实现以出列的人的密码为新的报数值加了m=q-sm;这一句话。最后将程序汉化。调试测试:三、心得体会对于链式结构虽然抽象但是掌握其本质后无非是指针的操作。只要对指针有个很好的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锌电解节能电极项目可行性研究报告
- 防汛知识培训反思课件
- 职业发展咨询公司合伙协议书
- 防暑降温知识培训教材课件
- 浙江省余姚市2025年九年级上学期数学第一次教学质量检测试题附答案
- 子女抚养权变更合同7篇
- 试用期过多久必须签订劳动合同4篇
- 智能交通系统的实时数据分析-洞察及研究
- 钢筋组承包合同4篇
- 河北省唐山市2025-2026学年高三上学期开学摸底考试生物试卷
- 2025年桥式起重机理论考试试题及答案
- 住培绩效管理办法
- 涪陵殡葬管理办法
- 2025年工会财务知识竞赛考试题库及参考答案
- 《城市轨道交通初期运营客流预测要求》编制说明
- 人工智能训练师基础技能培训手册
- GB/T 13925-2025铸造高锰钢金相检验
- 激光SLAM中的动态物体剔除算法研究及其性能评估
- 部编五年级上册道德法治教学质量提升计划
- 血压监测技术课件教学
- 超声在肾结石中的诊断
评论
0/150
提交评论