




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.4 线性表的应用举例,约瑟夫(Joseph)问题:编号为1,2,n的n个人按顺时针方向围坐在一张圆桌旁,每个人手中持有一个密码(正整数)。首先输入一个正整数作为报数上限值m,然后,从第一个人开始按顺时针方向自1开始顺序报数,报到m的人离开桌旁,并将他手中的密码作为新的m值,从顺时针方向的下一个就坐在桌旁的人人开始重新从1报数,如此下去,直至所有人全部离开桌旁为止。,假设有7个人,编号从1到7,他们手中的密码分别是3,1,7,2,4,8,4,最初的m=2,通过报数,这7个人离开桌旁的顺序应该是:2,3,5,4,7,6,1。 数据结构的分析 这个问题的主角是n个人,每个人需要描述的信息有:编号、密码和是否在桌旁的状态。假设有7个人,他们的信息可以表示成下面的形式。,顺序存储结构 算法描述 让n个人围坐在一张圆桌旁; for (i=1;i=n;i+) 从1开始报数,报到m停止; 报到m的人离开桌子; 最终的算法实现 #define LIST_MAX_LENGTH 7 #define n LIST_MAX_LENGTH typedef int EntryType; /将EntryType定义为int类型 void Joseph(int code ,int n),/通过一维数组code带入n个人手中的密码,n是开始就坐在桌旁的人数 SQ_LIST people; int temp,m; /m是报数的上限值 scanf(“%d”, /记录当前所报的数目,for (i=1;i0) count+; while (count!=m); printf(“%d”,position); /输出当前离开桌旁人的编号 GetElem(people,position, /将密码变为负值 ,链式存储结构 使用一个不带头结点的循环单链表结构。结点结构为:,图 2-10,用C语言定义 typedef struct /循环链表中每个结点的数据域部分的类型 int No; /编号 int code; /密码 INFO; typedef INFO EntryType;,算法 void Joseph(int code,int n) LINK_LIST people; NODE *position,*pre; /position指向当前报数的结点 if (InitList(,position=people.head; /让position指向最后一个结点,以便报数从第一个开始 while (position-next!=people.head) position= NextElem(people,position); scanf(“%d”,printf(“%d”,position-item.No); /离开桌子处理 m=position-item.code; pre=PriorElem(people,position); pre-next=position-next; free(position); positi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小红书美妆品牌账号运营与美妆沙龙服务合同
- 矿山安全劳务派遣服务及责任保障合同
- 文化旅游融合发展补充协议
- 网红炸鸡品牌形象使用权许可合同
- 智能仓储设备安装与仓储信息化升级服务合同
- 金融信贷资产证券化风险控制补充协议
- 创新型科技公司股权价值重估及调整合作协议
- 海外代购商品价格波动风险分担合同
- 胃肠肿瘤病例多学科讨论
- 肾绞痛的治疗
- (29)-15.2肾小管组织学与胚胎学
- 无人机概述专业知识课件
- 某某县市政设施维护管理及运营方案
- XX人民医院人力资源分析报告及建议(专业完整格式模板)
- 化工制图第六章化工设备图
- PBData 数据库一体机-技术白皮书
- 发展经济学 马工程课件 8.第八章 农业发展与农业现代化
- 数学三年级下册面积计算练习题79064
- 职务犯罪法律讲座
- GB/T 238-2013金属材料线材反复弯曲试验方法
- GB/T 221-2008钢铁产品牌号表示方法
评论
0/150
提交评论