1 / 17
文档名称:

数据结构实验报告.doc

格式:doc   大小:270KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验报告.doc

上传人:vqjyga55 2018/10/11 文件大小:270 KB

下载得到文件列表

数据结构实验报告.doc

相关文档

文档介绍

文档介绍:华北电力大学
实验报告
|
|
实验名称算法与数据结构综合实验
课程名称算法与数据结构综合实验
|
|

实验一约瑟夫环
实验目的及要求
问题描述
约瑟夫(Joseph)问题是:编号为1、2、……、n的n个人按顺时针方向围坐一圈,每个人有一个正整数编号。从某个位置上的人开始报数,数到m的人便出列;下一个人(第m+1个)又从1数起,数到m的人便是第二个出列的人;依次重复下去,直到最后一个人出列,于是得到一个新的次序,试设计程序求出出列顺序。
实验要求
利用单向循环链表存储结构模拟此过程;
利用顺序结构模拟此过程;
输入测试数据m=4,n=8,输出次序为48521376。
所采用存储结构
本次实验采用两种存储结构即单项循环链表和顺序结构分别模拟此过程。
单向循环链表
定义单链表类型:
typedef struct Node
{
int data;
struct Node *next;
}*Pointer;
顺序存储
创建一个数组a用于存放约瑟夫环中的编号,当其出圈时,将出圈数据存放入另一数组b以便输出,之后移动数组a 中元素删除出圈数据,并更改数组长度。
int List::get(int i) //出圈
{
int x=data[i-1];
for(int j=i;j<number;j++)
{
data[j-1]=data[j];
}
number--;
return x;
}
实验设计
单向循环链表
建立链结点用于存储参与游戏人员的编号,主函数中设置两个变量n和m分别代表游戏人数和出圈报数数字,利用Joseph(int n,int m,Pointer&Head)函数来初始化循环单链表并构建约瑟夫环;利用Print(int n,int m,Pointer&Head)函数来输出出圈人员编码,在该函数中,设置三个Node类型的指针*pr,*pn,*a,移动*pn来寻找出圈人员,*pr为*pn的前驱,始终尾随*pn移动,*a用于临时存放出圈人员的数据,在主函数中调用两个函数完成模拟。
顺序存储
建立一个类List来存放游戏人员编号并实现出圈方法,在主函数中判断出圈条件,将出圈人员编号依次存入数组并输出。
四、实验结果
1)单项循环链表
2)顺序存储
五、心得体会
通过本次实验巩固了我对顺序存储和链式存储知识点的理解,就本次实验而言,顺序结构的存储方式结构胶简单,但在处理出圈过程中的判断条件较为复杂,删除数据元素也不方便,而链式存储中只需要移动、修改指针就可完成出圈,删除的操作,理解起来较为容易。顺序结构的模拟程序最初代码较为冗杂,经过多次调试修改,我合并了一些语句操作,让程序变得更加精简清晰。在今后的实验中,应该多思考,多尝试,不断完善自己的程序。
实验二停车场管理
实验目的及要求
问题描述
设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供进出。汽车在停车场按车辆到达时的先后顺序,依次由南到北排列(大门在最南端,最先到达的第一辆车停放在车厂的最北端),若停车场内已停满n辆车,则后来的汽车只能在门外的便道上等候,一旦停车场内有车开走,则排在便道上的第一辆车即可开入。当停车场内某辆车要离开时,由于停车场是狭长通道,在它之后开入车场必须先退出车场为它让路,待车辆开出大门外后,为它让路的车辆再按原次序进入车场。在这里假设汽车不能从便道上开走。每辆停放在车场的车在它离开车场时,必须按它停留的时间长短缴纳费用。试为停车场编制按上述要求进行管理的模拟程序。要求:根据各结点信息,调用相应的函数或者语句,将结点入栈或入队,出栈或出队。
实验要求
接受命令和车号,当输入数据包括数据项为汽车的“到达”(‘A’表示)信息、汽车标识(牌照号)及到达时刻时,先判断停车是否满,若不满,则汽车入停车场;否则汽车入便道队等候,并输出汽车在停车场内或便道上的停车位置。
接受命令和车号,当输入数据包括数据项汽车的“离去”(‘D’表示)
信息、汽车标识(牌照号)及离去时刻,将停车场栈上若干辆汽车入临时栈,为该汽车让路,这辆车出停车场栈,临时栈中汽车出栈,入到停车场栈,再看便道队列是否为空,若不空则说明有汽车等候,从队头取出汽车信息,让该车进停车场栈,并输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费)。
接受命令和车号,当输入数据项为(‘P’,0,0)时,应输出停车场的车数;当输入数据项为(‘W’,0,0)时,应输出候车场车数;当输入数据项(‘E’,0,0)时,退出程序;若输入数据项不是以上所述,就输出“ERROR!”。
所采用存储结构
本实验将停车场模拟为一个栈,便道设计为一个队列。栈采用顺序存储结构

最近更新

血液透析患者血二氧化碳分压与呼吸功能的关系.. 28页

血液透析患者中性功能指标的检测与临床应用 24页

2024年公司实习生辞职申请书15篇 21页

共享车位方案执行 5页

公路旁植树方案 4页

编制工程技术标注意要点 7页

自动驾驶技术在汽车行业中的应用与前景展望 26页

脱发治疗的新技术和疗效评估 29页

学生会月报表制作范例1 10页

2024年云南省大理州事业单位招聘339人历年高频.. 176页

2024年云南省昆明市东川区融媒体中心招聘编外.. 176页

2024年云南省昆明市晋宁区上蒜镇招聘11人历年.. 176页

2024年云南省曲靖宣威市事业单位招聘152人历年.. 174页

2024年云南省玉溪市安全监控中心招聘16人历年.. 177页

2024年内蒙古乌海市事业单位招聘工作人员91人.. 177页

2024年内蒙古呼和浩特市事业单位人才引进278人.. 177页

2024年内蒙古自治区农牧厅事业单位招聘79人及.. 175页

2024年内蒙古通辽市科尔沁区事业单位卫生健康.. 176页

2024年内蒙古锡林郭勒苏尼特左旗乌兰牧骑招聘.. 176页

脑卒中症状应对的紧急电子设备 24页

产业集团经营方案 4页

2024年四川工商职业技术学院单招职业适应性测.. 58页

2024年安徽省合肥市行政职业能力测验题库(有.. 150页

部编版五年级下册道德与法治第三单元测试卷含.. 8页

最新《地理七年级下册课程纲要》 6页

2023系统性红斑狼疮诊疗规范(完整版) 26页

家政雇佣合同 3页

精选工业管道的基本识别色gb7231-2023 5页

生产车间次品废品的判定及处罚规定 5页

地形图,规范 3页