数据结构课程设计——约瑟夫环_第1页
数据结构课程设计——约瑟夫环_第2页
数据结构课程设计——约瑟夫环_第3页
数据结构课程设计——约瑟夫环_第4页
数据结构课程设计——约瑟夫环_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、导教师对课程设计的评语指导教师签字: 年 月 日 设计1 约瑟夫环问题 一、需求分析1、本演示程序中,人数n应为任意的,首先应输入一个值赋给初始报数上限m,程序应能自动保存出列人的序号和将出列的人所持的密码赋给m,再次作为报数上限,如此循环,直至所有人都出列为止。2、演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息之后,由用户在键盘上输入相应数据即每个人的密码,每个人的序号由程序自动分配。3、程序执行的命令包括:1构造链表;2输入数据;3执行程序,输出报数人的相关信息后,在链表中删除报数人相关信息。4结束。4、测试数据:m的值为20,n=7,7个人的密码依次是3, 1,7,

2、2,4,8,4,首先m值是6正确的出列顺序是6,1,4,7,2,3,5二、概要设计为了实现上述功能,应以单向循环链表表示。1、创立新链表并且输入相应的数据2 本程序包含三个模块:主程序模块;定义节点类型构造链表并输入每个人信息模块;三、详细设计1.元素类型,结点类型和指针类型:typedef struct Lnode int num; int data;Lnode *next; Lnode,*Linklist;2每个模块的分析:1主程序模块:int main() int m,n;printf("请输入初始的报数上限m和人数n:n");scanf("%d"

3、,&m);scanf("%d",&n);struct Lnode *q;Linklist p,L;while(q!=L)for(;m>0;m-) q=q->next;L=L->next;L->next=q->next;p=q;q=q->next;m=p->data;printf("%dn",p->num );free(p);return 0; 2构造链表并输入每个人信息模块:void creat() int n; Linklist L=0,q=0; L=( Linklist)malloc(s

4、izeof(Lnode); printf ("请按照编号将每个人的编号,密码依次输入系统:"); for(;n>0;n-) scanf("%d",L->num); scanf("%d",L->data); L->next=( Linklist)malloc(sizeof(Lnode); L=L->next; L->next=q; q=L;四、运行结果及分析1 .该程序在codeblocks中运行2进入演示程序后即显示提示信息:请输入初始的报数上限m和人数n:请按照编号将每个人的编号,密码依次输入系统

5、:输入完毕后就进行报数操作3测试结果当输入m20,n7,每个人所持密码一次为:3,1,7,2,4,8,4时,那么输出正确的出列顺序为:6,1,4,7,2,3,5五、总结 通过此次设计,深入了解单向循环链表的使用,熟练掌握其用法,为以后更好的学习打好根底。附:主要源代码#include <stdio.h>#include <stdlib.h>typedef struct Lnode int num; int data; Lnode *next; Lnode,*Linklist; void creat() int n; Linklist L=0,q=0; L=( Linkl

6、ist)malloc(sizeof(Lnode); q=L; printf ("请按照编号将每个人的编号,密码依次输入系统:"); for(;n>0;n-) scanf("%d",L->num); scanf("%d",L->data); L->next=( Linklist)malloc(sizeof(Lnode); L=L->next; L->next=q;int main() int m,n; printf("请输入初始的报数上限m和人数n:n"); scanf("%d",&m); scanf("%d",&n); struct Lnode *q; Linklist p,L;L=creat(n); while(q!=L) for(;m>0;m-) q=q->next;L=L->next; L->next=q->next;p=q;q=q->next; m=p->data; printf("%dn",p->num ); free(p); return 0;YNN开始输入m ,n输入num ,data;构建链表q!=L m&g

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论