课程设计--退圈模拟过程
《课程设计--退圈模拟过程》由会员分享,可在线阅读,更多相关《课程设计--退圈模拟过程(11页珍藏版)》请在毕设资料网上搜索。
1、 退圈模拟过程退圈模拟过程 摘要:摘要:本文将 n0 个人围坐一圈看成是一个单循环链表,每次报数到某个编号的人时,该 人退出圈,可以模拟成从链表中删除某个节点,而剩下的人仍构成一个单循环链表。直到所 有的认读退出圈时,单循环链表就为空了。由于在建立单循环链表时加上了一个头结点,所 以把第一个人的密码拿出单独处理。 每个人都有一个密码, 所以当人数较多时就可以用系统 随机为他们生成密码。模拟过程如下: (1)创建 n0 个人的圈(链表) ; (2)为每个人分配密码(用户输入或随机生成) ; (3)按照密码顺时针方向删除节点(按链表循环到密码个节点时就删除那个节点) ; (4)重复(3)的过程直到
2、所有人都出列为止(链表为空) 。 关键词关键词 圈 单循环链表 节点 密码 链表为空 一、一、问题重述问题重述 设编号为 1,2,n(n0)个人按顺时针方向围坐一圈,每人持有一个正整数密码。开 始时任意给出一个报数上限值 m,从第一个人开始顺时针方向自 1 起顺序报数,报到 m 时 停止报数,报 m 的人出列,将他的密码作为新的 m 值,从他在顺时针方向上的下一个人起 重新自 1 起顺序报数; 如此下去, 直到所有人全部出列为止。 要求设计一个程序模拟此过程, 并给出出列人的编号序列。 二、二、基本要求基本要求 用单循环链表解决,当所有人都退出圈时,则链表为空,程序要给出每次出圈人的编号 (按
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 模拟 过程
