数据结构试验报告(华北电力大学科技学院)..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 学生姓名:李晓东 学 号:091909020111 成 绩: 指导老师:张琦 实验日期:2011年3月—6月 实验一 顺序表及其应用 一、实验目的及要求 1、实验目的 (1)熟悉C++上机环境,进一步掌握C语言的结构特点。 掌握线性表的顺序存储结构的定义及C语言实现。 掌握线性表在顺序存储结构即顺序表中的各种基本操作。掌握栈的顺序表示和实现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)熟悉C++上机环境,进一步掌握C语言的结构特点。 掌握线性表的链式存储结构单链表的定义及C语言实现。 掌握线性表在链式存储结构单链表中的各种基本操作。掌握栈的表示和实现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 {?? int data; ???? struct Node *next; }*nodetype;//定义指向链节点类型的指针 先建立单向循环链表。 构造一个结点需用到C语言的标准函数malloc(),如给指针变量p分配一个结点的地址:p=()malloc(sizeof(struct Node));该语句的功能是申请分配一个类型为的结点的地址空间,并将首地址存入指针变量p 中。当结点不需要时可以用标准函数free(p)释放结点存储空间,这时p为空值(NULL)。#i

文档评论(0)

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

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

1亿VIP精品文档

相关文档