选猴王数据结构课程设计
《选猴王数据结构课程设计》由会员分享,可在线阅读,更多相关《选猴王数据结构课程设计(11页珍藏版)》请在毕设资料网上搜索。
1、选猴王 计科专业数据结构计科专业数据结构 A A 课程设计课程设计 选猴王选猴王 作 者 姓 名: 专业、班级 : 学 号 : 指 导 教 师: 完 成 日 期: 2013 年 11 月 17 日 选猴王 目 录 题 目 描 述 . 1 1、算法思想 . 2 2、详细设计 . 2 4 调试分析 . 4 5 用户使用说明 . 5 6 课程设计总结 6 参 考 文 献 . 7 选猴王 1 题 目 描 述 任务:一堆猴子都有编号,编号是 1,2,3 .m ,这群猴子(m个)按照 1-m的 顺序围坐一圈,从第 1 开始数,每数到第 N 个,该猴子就要离开此圈,这样依次下 来,直到圈中只剩下最后一只猴子
2、,则该猴子为大王。 要求: 输入数据:输入 m,n m,n 为整数,nnext =NULL; (非空表) (空表) 单循环链表 2) 、函数 void hzxdw(M,N)读取数据 M、N 后,然后就根据 N 的值,用 for 循环 数猴子结点用a指向开始结点,往后数到第 N 个结点,就把第 N-1 个结点与第 N+1 个结点链在一起,即实现了删除第 N 个结点。如此反复,直到 L 的后继结点是它自 己,即圈中只剩最后一只猴王。其源代码如下: void hzxdw(int m,int n)/猴子选大王 Mnode *q,*p,*L,*pre; 选猴王 3 int i; /s 作为 n的标志 f
3、or( i=0; idata=i+1; L=p; p-next=L; else q=(Mnode*)malloc(sizeof(Mnode); q-data=i+1; q-next=L; p-next=q; p=q; p=L;/从第一个猴子开始报数 while(p!=p-next)/当 pp-next 时表明猴子大王已选出 for(i=1; inext=p-next; 选猴王 4 p=p-next; free(q); else pre=p; p=p-next; printf(“选出的猴王是%d 号猴子n“,p-data); 本算法只用了两个简单的 for 循环,所以时间复杂度为 O(N+MN-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 猴王 数据结构 课程设计
