免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构实验报告实验1 线性表及其应用题目:约瑟夫环一 需求分析1 本演示程序中,人数n应为任意的,首先应输入一个值赋给初始报数上限m,程序应能自动保存出列人的序号和将出列的人所持的密码赋给m,再次作为报数上限,如此循环,直至所有人都出列为止。2 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之后,由用户在键盘上输入相应数据(即每个人所持的密码),每个人的序号由程序自动分配。3 程序执行的命令包括:(1)构造链表;(2)输入数据;(3)执行报数,储存出列人的序号,删除出列人的信息以及把出列人的密码赋给m;(4)结束。4 测试数据(1)n7,7个人的密码依次为:3,1,7,2,4,8,4,首先m值为6,则这正确的出列顺序为6,1,4,7,2,3,5。二 概要设计为了实现上述操作,应以单向循环链表为存储结构。1 基本操作:new_code( ) 操作结果:构造空链表,若成功就初始化每个人的相关信息delete_code( ) 初始条件:线性链表存在 操作结果:释放指向出列的人的结点,并重新报数2 本程序包含三个模块:(1) 主程序模块;(2) 构造链表并输入每个人信息模块;(3) 释放结点模块;三 详细设计1 元素类型,结点类型和指针类型:typedef int ElemType; typedef struct LNodeint num;ElemType data;struct LNode *next;LNode; LNode *head; *this; *new; 2 每个模块的分析:(1) 主程序模块:main()int m,n,i; printf(Enter the first code (m):);scanf(%d,&m); printf(nEnter the people number (n):);scanf(%d,&n); getchar(); printf(n);new_code(n); if(head!=NULL) delete_code(n,m); elseprintf(list is emptyn);exit();for(i=0;inum=i;printf(enter the %d code(data):,i);gets(numstr); this-data=atoi(numstr);new=(LNode *)malloc(sizeof(LNode); this-next=new; this=new; i+;this-num=i;printf(enter the %d code(data):,i);gets(numstr);this-data=atoi(numstr);this-next=head; return OK;(3) 释放结点模块delete_code(int a,int b)int i;int j=0;LNode *p;while(a-)!=1) for(i=1;inext;b=this-data;strj=this-num;p-next=this-next; free(this); j+;strj=this-next-num; return OK;3 完整的程序:#include malloc.h#include stdio.h#define MAX 100#define ERROR 0#define OK 0typedef int ElemType;typedef struct LNodeint num;ElemType data;struct LNode *next;LNode;LNode *head,*this,*new;int strMAX;new_code(int a);delete_code(int a,int b);main()int m,n,i;printf(Enter the first code (m):);scanf(%d,&m);printf(nEnter the people number (n):);scanf(%d,&n);getchar();printf(n);new_code(n);if(head!=NULL)delete_code(n,m);elseprintf(list is emptyn);exit();for(i=0;inum=i;printf(enter the %d code(data):,i);gets(numstr);this-data=atoi(numstr);new=(LNode *)malloc(sizeof(LNode);this-next=new;this=new;i+;this-num=i;printf(enter the %d code(data):,i);gets(numstr);this-data=atoi(numstr);this-next=head;return OK;delete_code(int a,int b)int i;int j=0;LNode *p;while(a-)!=1)for(i=1;inext;b=this-data;strj=this-num;p-next=this-next;free(this);j+;strj=this-next-num;return OK;四 调试结果及说明1 说明(1) 本程序的运行环境为trubo c 2.0。(2) 进入演示程序后即显示提示信息:Enter the first code(m):输入初始报数值Enter the people number(n): 输入人数enter the 1 code(data): 输入第一个人所持的密码enter the 2 code(data):输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 百思特咨询安踏之道系列第五篇渠道与商品:从批发到DTC
- 浙江省立同德医院医疗综合楼改扩建工程项目环境影响报告表
- 钱塘区国有公共建筑用能设备更新改造项目环境影响报告表
- 杭州昱华年产2.5万台户外机柜生产线扩建项目环境影响报告表
- 游戏行业运营部策划员游戏策划设计手册(执行版)
- 2026新学期青少年泥石流灾害的预防与预警课件
- 海理定理的量子相干衍射成像
- 基于结构光的三维重建精度提升方法结题报告
- 基于计算机视觉的烟草异物剔除系统剔除物自动收集与分类统计实现异物来源追溯与工艺改进可行性分析
- 2026年度家长校园防灾减灾安全教育课件
- 惠州市水务集团笔试题库答案
- 2026年工会社会工作者招聘笔试题目及答案
- 《建筑新能源应用设计规范》DB11T 1774-2026
- 4.6.4 激素调节 课件(共20张+内嵌视频3个)生物学人教版(2024)八年级上册
- 2026年秋新教材版人教版五年级上册小学数学教学计划
- 2026年中国老挝磨憨一磨丁经济合作区管委会(35人)考试备考试题及答案详解
- UL 50E 中文版 电气外壳环境防护性能标准
- 《智能信息检索与生成式AI应用》课件-项目2:学术文献检索
- 施工现场防火材料、耐火构配件、消防设备设施进场质量管理制度2026db
- 2026新教材人教版九年级上册英语:各单元话题作文指导(写作模板+满分范文)
- 2026-2030中国手机零售行业销售动态及竞争策略分析报告
评论
0/150
提交评论