《数据结构(C语言版) 》课程设计.docVIP

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
     课程设计说明书 设计题目: 数据结构课程设计 专业:信息与计算科学 班级: 2010级2班 设计人: 1001051623 山 东 科 技 大 学 2013年 1 月 1日 课程设计任务书 学院:信息学院 专业:信息 班级10-2 姓名: 课程设计题目: 数据结构课程设计 课程设计主要参考资料: (1) 《数据结构(C语言版) 》 (2) 网上查询 三、课程设计应解决的主要问题: (1)约瑟夫环问题 (2 前缀算术表达式转换及表达式计算 (3)矩阵乘法和加法算法的应用 (4)有向无环图每个顶点出发的最短路径及其长度 (5)2-路归并排序 四、课程设计相关附件(如图纸、软件等): 五、任务发出日期: 课程设计完成日期: 指导教师签字: 系主任签字: 指导教师对课程设计的评语 指导教师签字: 年 月 日 设计1 约瑟夫环问题 一、需求分析 (1)实现单循环链表的初始化。 (2)理解约瑟夫环的定义,用循环找到每次报数人的序号和密码。 (3) 从单循环链表中删除节点,并判断链表空与非空的临界条件。 问题描述 设编号为1,2…,n(n0)个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始时任意给出一个报数上限值m,从第一人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺指针方向上的下一个人起重新自1起顺序报数;下去,直到所有人全部出列为止。 要求设计一个程序模拟此过程。 二、 总体设计及模块的划分 三、详细设计 (1)流程图: (2)主模块实现算法基本思想: 在保证m大于0的前提下,从第一个结点开始,根据m找到循环链表第m个结点,读取下一个出列人的序号,并读出第m个结点的密码作为新的报数上限,从此结点的下一个结点开始进行新的查找。通过指针依次删除出列人相应的节点,直到该链表中无节点,退出循环。 (3)时间复杂度 :O(n*m) 四、运行结果及分析 (1)测试用例:(一般数据) (2)测试用例:(边界数据) 当m=1,序号为1的人首先出列,模拟过程正确,出列手持密码为1,相邻的人出列,模拟过程正确。 (3)测试用例:(错误数据) 当输入初始密码m1,给出重新输入提示。 五. 附源程序 #include stdio.h #include stdlib.h #include malloc.h #define FALSE 0 #define TRUE 1 typedef struct Node { int num;//序号 int code;//密码 struct Node *next; }Node,*LinkList; LinkList init_clist(LinkList L, int n ){ LinkList q,p; int i; q = (LinkList)malloc(sizeof(Node)); L=q; q-num= 1; //无头结点 printf(The NO 1 Peoples code is:); scanf(%d,q-code); q-next= q; for(i=2;i=n;i++) { p=(LinkList)malloc(sizeof(Node)); p-num=i; printf(The NO %d Peoples code is:,i); scanf(%d,p-code); p-next=q-next; q-next=p; q=p; } return L; } int Course(LinkList L,int n,int m){

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档