- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郭艳慧 实验一 线性表 08-10-20
PAGE
PAGE 4
《数据结构》实验报告
班级:
姓名:
学号:
日期: 08-10-20
题目: 约瑟夫环
上机实验的问题和要求:
问题描述:
编号为1到n的n个人围成一圈,每人带一个密码c,以m为报数上限。然后从第一个人开始顺时针自1开始报数,报到m的人出列,将其密码作为新的m值,从他的下一个人开始,同样顺时针自1开始报数,依次循环下去,直到所有的人都出列!要求得到依次出列的那些人的编号序列!
基本要求:
用C代码实现此活动,要求使用一定的算法进行操作,并最终通过程序运算出最后的结果!
二、程序设计的基本思想,原理和算法描述:
(包括程序的模块结构,数据结构,输入/输出设计,符号名说明等)
基本思想:
利用不带头结点单向循环链表模拟该活动,在实现了一切动作之后,运用一定的算法得到最终的结果。
程序的模块结构:
定义了相关的结构体之后,主要有以下几大模块:
建立由头指针指示的有n个结点的不带头结点的单向循环链表crt_CLinkList(H,n);
寻找、输出、删除H单循环链表的第m个结点locfor(H,m);
最后通过main函数体处理参数的输入与显示,并调用以上两函数,最终解决问题。
主要数据结构:
单链的循环链表,即线性表的链式存储结构。
算法的伪码描述:
结构体定义如下:
typedef struct Lnode /*定义单链表*/
{
int number; /*编号*/
int cipher; /*密码*/
struct Lnode *next; /*指针*/
}Lnode,*CLinklist; /*重定向命名*/
CLinklist H; /*H为全局单链表*/
算法的实现详见源程序。
输入/输出设计
本程序并未采用任何二进制文件出入的方式,这点说明将在最后总结提到。至于函数的出入口问题,在源程序及注释中将得到详细说明,这里不再赘述。
三、源程序及注释:
(说明函数功能、入口及出口参数,其他)
#include stdio.h /* 头文件*/
#include stdlib.h
#include alloc.h
typedef struct Lnode /*定义单链表*/
{
int number; /*编号*/
int cipher; /*密码*/
struct Lnode *next; /*指针*/
}Lnode,*CLinklist; /*重定向命名*/
CLinklist H; /*H为全局单链表*/
struct Lnode *crt_CLinkList(CLinklist H,int m) /*创建一个不带头结点的单向循环链表*/
{ /*其中,H为全局单链表,m为链表结点总数*/
int i; /*循环记数用*/
struct Lnode *ptr1; /*用于索引*/
if((ptr1=(struct Lnode *)malloc(sizeof(struct Lnode)))==NULL) /*一旦动态内存分配失败,报错退出!*/
{
perror(malloc);
return ptr1;
}
H=ptr1; /*形成单个结点的单循环链表*/
ptr1-next=H;
for(i=1;im;i++) /*形成m个结点的不带头结点的单
您可能关注的文档
- 三年级英语上册recycle 2 第二课时教案.doc
- 实验四 动物细胞的传代培养.doc
- 物理化学实验报告册.doc
- 实验动物房使用申请表.doc
- erp实验报告完整版.doc
- 反对三股势力和两面人的发声亮剑发言材料精选4篇.doc
- 高级语言程序设计(VB)实验报告.doc
- 实验报告3:差热分析实验.doc
- 探究型学习活动设计 英语阅读的探究式课堂教学计划.doc
- 局部解剖实验报告_脊柱区.doc
- 第18讲 第17课 西晋的短暂统一和北方各族的内迁.docx
- 第15讲 第14课 沟通中外文明的“丝绸之路”.docx
- 第13课时 中东 欧洲西部.doc
- 第17讲 第16 课三国鼎立.docx
- 第17讲 第16课 三国鼎立 带解析.docx
- 2024_2025年新教材高中历史课时检测9近代西方的法律与教化含解析新人教版选择性必修1.doc
- 2024_2025学年高二数学下学期期末备考试卷文含解析.docx
- 山西版2024高考政治一轮复习第二单元生产劳动与经营第5课时企业与劳动者教案.docx
- 第16讲 第15课 两汉的科技和文化 带解析.docx
- 第13课 宋元时期的科技与中外交通.docx
最近下载
- 单向板肋梁楼盖计算.docx
- 作业4:工学一体化课程《小型网络安装与调试》工学一体化课程考核方案.docx VIP
- 中国画之写意画.ppt VIP
- (2019苏教)小学科学三年级上册:全册整套教案资料.pdf
- 核心素养导向的高中数学课例设计研究与实践(样例)(1).doc
- 驾驶证延期委托书模板.doc
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.docx VIP
- 作业5:工学一体化课程《小型网络安装与调试》工学一体化课程终结性考核试题.pdf VIP
- 中国画的构图形式ppt课件.pptx
- 作业11:《小型网络安装与调试》工学一体化课程教学进度计划表.pdf VIP
文档评论(0)