数据结构试验报告(华北电力大学科技学院).docVIP

数据结构试验报告(华北电力大学科技学院).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构试验报告(华北电力大学科技学院)

华北电力大学科技学院 实 验 报 告 实验名称 数据结构试验 课程名称 数据结构 专业班级:软件09k1 学生姓名:李晓东 学 号:1 成 绩: 指导老师:张琦 实验日期:2011年3月—6月 实验一 顺序表及其应用 一、实验目的及要求 1、实验目的 (1)熟悉VC++上机环境,进一步掌握C语言的结构特点。 (2)掌握线性表的顺序存储结构的定义及C语言实现。 (3)掌握线性表在顺序存储结构即顺序表中的各种基本操作的实现。 (4)掌握栈和队列的顺序表示和实现。 2、实验要求 (1)用顺序存储结构实现栈和循环队列。 (2)编写完整程序完成下面的实验内容并上机运行。 (3)整理并上交实验报告。 二、实验内容 1. 约瑟夫环的实现:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 m 的人就站出来。下一个人,即原来的第m+1个位置上的人,又从1开始报数,再是数到m的人站出来。依次重复下去,直到全部的人都站出来,按出列的先后又可得到一个新的序列。由于该问题是由古罗马著名的史学家Josephus提出的问题演变而来,所以通常称为Josephus 问题。 例如:当n=8,m=4,i=1时,得到的新序列为: 4,8,5,2,1,3,7,6 编写程序选择顺序存储方式模拟整个过程,并依次输出出列的各人的编号。 程序: #includestdio.h #includestdlib.h #define MAX 100 int main() { Int i,k,out,all,count,start,person[100];//定义变量 printf(请输入起始时的人数:\n); scanf(%d,all); for(i=0;iall;i++) person[i]=i+1; //初始化数组 printf(请输入数数的周期:\n); scanf(%d,count); printf(你希望从第几个人开始?:\n); scanf(%d,start); i=start-1;//开始下标等于开始人数减一 if(startall)//若开始人数大于总人数提示出错 printf(error!\n); k=0;//1 2 3 的计数器 out=0;//出局的人数 while(outall-1) { if(person[i]!=0)//取出后置零 k++;//计数器加一 if(k==count) { printf(%d ,person[i]);//打印输出该出局的人数 person[i]=0;//出局后此位置置零 k=0;//计数器置零 out++;//出局人数加一 } i++;//人数后移加一 if(i==all) i=0;//当i=最后一个时,让i等于第一个 } for(i=0;iall;i++)//循环输出最后一个人 { if(person[i]!=0)//判断是否已经输出过 { printf(%d ,person[i]); break; } } printf(\n); system(pause); return 0; } 实验结果: 实验二 链表及其应用 一、实验目的及要求 1、实验目的 (1)熟悉VC++上机环境,进一步掌握C语言的结构特点。 (2)掌握线性表的链式存储结构即单链表的定义及C语言实现。 (3)掌握线性表在链式存储结构即单链表中的各种基本操作。 (4)掌握栈和队列的链式存储结构的表示和实现。 2、实验要求 (1)用链式存储结构实现单链表(和单向循环链表)的建立、查找和删除等运算。 (2)编写完整程序完成下面的实验内容并上机运行。 (3)整理并上交实验报告。 二、实验内容 1.约瑟夫环的问题:设有n个人围坐在圆桌周围,现从某个位置 i 上的人开始报数,数到 m 的人就站出来。下一个人,即原来的第m+1个位置上的人,又从1开始报数,再是数到m的人站出来。依次重复下去,直到全部的人都站出来,按出列的先后又可得到一个新的序列。由于该问题是由古罗马著名的史学家Josephus提出的问题演变而来,所以通常称为Josephus 问题。 例如:当n=8,m=4,i=1时,得到的新序列为: 4,8,5,2,1,3,7,6 用单向循环链表存储结构模拟此过程。 实现提示:typedef struct Node {?? in

文档评论(0)

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

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

1亿VIP精品文档

相关文档