《课程设计说明书》模版

《课程设计说明书》模版

ID:38816494

大小:419.00 KB

页数:47页

时间:2019-06-19

《课程设计说明书》模版_第1页
《课程设计说明书》模版_第2页
《课程设计说明书》模版_第3页
《课程设计说明书》模版_第4页
《课程设计说明书》模版_第5页
资源描述:

《《课程设计说明书》模版》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、山东科技大学学生课程设计1.设计1约瑟夫环问题一、需求分析1、利用单向循环链表存储结构模拟此过程,按照出列的顺序印出个人的编号,只适用于一个案例。具体目标包括:(1)实现单循环链表的初始化;(2)理解约瑟夫环的定义,用循环找到每次报数人的序号;(3)从单循环链表中删除节点,并判断链表空与非空的临界条件。2、构造一个含有n个元素的单向循环链表ADTCircleList{数据对象:D{ai

2、ai∈Elemset,i=1,2,…,n,n≥0}数据关系:R={,

3、ai-1,ai∈D,i=2,…n}基本操作:LinkInitList(intn)操

4、作结果:构造一个含有n个元素的单向循环链表。3、程序中,先输入总人数PN与初始密码SN,再输入输入n个正整数,作为这n个人的密码,接下来初始密码m。4、测试数据PN=5SN=2,N个人的密码依次=14648。出列为:21354。第47页山东科技大学学生课程设计二、概要设计1、函数功能在main函数中实现voidmain(void){intPN,SN,i;LinkListL;printf("请输入总人数PN,和出示密码SN:");scanf("%d%d",&PN,&SN);inta[N];a[0]=SN;//将a[0]保存为初始密码printf("请输入%d个人各自所持

5、的密码:",PN);for(i=1;i

6、idCreatLinkList(LinkList*L,intPN){Node*p,*q;inti;(*L)=(LinkList)malloc(sizeof(Node));p=(*L);p->data=1;for(i=2;i<=PN;i++){q=(LinkList)malloc(sizeof(Node));q->data=i;p->next=q;p=q;}p->next=(*L);}第47页山东科技大学学生课程设计流程图1结束p->next=headp=qP->next=p2head=qi==1q指向申请空间i<=np指向申请空间2、程序主模块实现算法从头结点开始,根

7、据报数上限找到下一个出列人的序号,并读出该人的密码作为新的报数上限,从此节点的下一个节点开始进行新的查找。取每次将要删除的人的密码,用于下次报数的上限.通过指针依次删除出列人相应的节点,直到该链表中无节点,退出循环。第47页山东科技大学学生课程设计输入总人数与初始密码jnexei=i+1=1q=head->next输出q的numberm<0结束m=q->next->number删除q节点初始化一个单循环链表四、运行结果及分析1.调试分析(1)进入第47页山东科技大学学生课程设计程序后按提示输入程序初始数据回车后即可得到结果,输

8、出结果表示依次出列人的序号,程序结束。若输入过程中输入有误,程序直接结束。算法时间复杂度正比于2n加上所有人的密码和。(2)结果分析:对一般数据与边界数据能输出正确结果;对错误数据能做出合适的反应。2.测试结果输入值不符合条件是:五、总结第47页山东科技大学学生课程设计1.本程序比较简单,只有一个main函数,功能在main函数中实现,程序有待优化。本次实验主要考察了对单循环链表的应用。2.调试过程中,由于指针使用不当多次出现错误,对指针的设计还需要熟练掌握。附:主要源代码#include#include#defineN100ty

9、pedefstructNode{intdata;//将这一圈人按从1~PN贴上序号structNode*next;}Node,*LinkList;voidCreatLinkList(LinkList*L,intPN){Node*p,*q;inti;(*L)=(LinkList)malloc(sizeof(Node));p=(*L);p->data=1;for(i=2;i<=PN;i++){q=(LinkList)malloc(sizeof(Node));q->data=i;第47页山东科技大学学生课程设计p->next=q;p=q;}p->next=

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。