2023年数据结构约瑟夫环实验报告新编.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2023年数据结构约瑟夫环实验报告新编.docx》由会员分享,可在线阅读,更多相关《2023年数据结构约瑟夫环实验报告新编.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、他仅冲洗石n数据结构课程实验报告书姓名:徐鑫学号:专业:物联网工程班级:16042023年 10 月15 日一、实验目的.掌握线性表特性1 .纯熟掌握线性表的基本操作.运用线性表设计算法并实现二、实验内容.解决约瑟夫环问题:已知n个人(以编号1,2, 3. . n分别表达)围坐在一 张圆桌周边。从编号为k的人开始报效,数到m的那个人出列;他的下一个人又 从1开始报数,数到m的那个人又出列;依此规律反复下去,直到圆桌周边的人 所有出列。1 .基本规定:1)根据题目规定设计解决约瑟夫环应用问题的数据结构。2)规定采用C+ +编程语言实现设计的算法。三、设计思绪.数据逻辑关系的分析。令将人的顺序简朴
2、编号,从1到n;。o中构造一个循环链表,可以解决首位相连的问题;他 将人的编号插入到结构体的Dat a域中;电遍历人的编号,输出参与的人的编号;中 开始报数,从头报数,报到k的人出局(删除此结点),并释放此结点。 直到人数只有一个人时,退出循环,输出获胜的人。1 .存储结构设计 p re p, c o unt=2(建立约瑟夫环)preP(循环结束条件)2 .算法的核心思想说明口拟定需要删除的位置;口。设立并删除该位置。已知报数间隔m,我们可以把当前位置加上m获得需要删除的位置,假如 获得的位置超过顺序表中实际元素的总长度,则可以通过减去数组的实际 长度来修正修正(即模拟环状计数)。然后把顺序表
3、中的当前指向位置设立 为该位置,继而删掉该位置。反复进行上述拟定位置和删除位置的操作,直到顺序表为空。四、数据结构设计1 .类的声明和定义(规定给出完整的类声明和核心成员函数的定义)3 0 #if n def Joseph_H# d e fin e J o seph_H#include using namespac e std;st r uct Node/结点(&int data;存储数据ao&Nod e *nex t ; 下一个节点的地址I;Circul a rL i nkL i s t / /单向循环链表类clas s publCircular L in k L i s t ()构造函数。
4、 f irs t = n ew N ode;o first-da t a = NULL;ofi r st- next = f i rst;ga Cir c u 1 a rL i n k L ist () d cl e t e finavoid C r eateLi n kLi st (in t a, i nt n);,3Voi d P r int L ink L ist();遍历链表a void Joseph(int k,i n( n); 约瑟夫环实现p riva t c:a aN o de * f irst;);#end i f2.算法实现#includc Jo Sep h.hi n c l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数据结构 约瑟夫 实验 报告 新编
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内