视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据结构实验指导书-20140521
2025-09-29 16:35:05 责编:小OO
文档
华北电力大学科技学院

实验报告

实验名称数据结构试验

课程名称数据结构

专业班级:学生姓名:

学号:成绩:

指导老师:实验日期:2011年3月-6月(实验报告如打印,纸张用A4,左装订;页边距:上下2.5cm,左2.5cm,右2.0cm;字体:字体小四号,1.25倍行距。)

验证性、综合性实验报告应包含的主要内容:

一、实验目的及要求

1.实验目的

2.实验要求

二、所用仪器、设备

1.所需的硬件设备

2.所需的软件列表

三、实验原理

1.实验所用到的原理或理论

2.结合本实验阐述如何将理论与实验相结合

四、实验步骤(附程序流程图)

五、程序源代码

六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在

的问题等进行分析和讨论,对实验的进一步想法或改进意见)

七、所附实验输出的结果或数据(按照以上格式书写报告)

②在①的基础上,对用户提出的中缀表达式求值(若非整数,则四舍五入取整)。

2)例如:输入A=(8*6-5)*(3+6/2)

求得的后缀表达式及值

A86*5-362/+*258

实现提示:数据结构采用顺序存储实现线性表,在中缀表达式转化为后缀表达式时,利用顺序存储实现栈。

实验二链表及其应用

一、实验目的及要求

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

{int data;

struct Node*next;}*nodetype;//定义指向链节点类型的指针

1)先建立单向循环链表。

构造一个结点需用到C语言的标准函数malloc(),如给指针变量p分配一个结点的地址:p=(nodetype)malloc(sizeof(struct Node));该语句的功能是申请分配一个类型为结构体类型为Node的结点的地址空间,并将首地址存入指针变量p中。当结点不需要时可以用标准函数free(p)释放结点存储空间,这时p为空值(NULL)。

2)注意在删除第m个节点时,需要一个辅助指针指向删除节点的前驱节点,删除节点只需要修改指针即可。

2.若已知非空线性链表第一个结点的指针为list(即非空不带头节点的单链表头指针为list),请写一个算法并实现,将该链表中数据域值最小的那个结点移到链表的最前端。

实现提示:此算法需要四个辅助指针,扫描链表节点指针p以及其前驱节点指针r,数据域小的节点指针q以及其前驱节点指针s.

实验二线性表及其应用—

模拟飞机场订票和退票系统

一、实验目的及要求

1、实验目的

(1)熟悉VC++上机环境,进一步掌握C语言的结构特点。

(2)掌握线性表的链式存储结构即单链表的定义及C语言实现。

(3)掌握线性表在链式存储结构即单链表中的各种基本操作。

(4)掌握栈和队列的链式存储结构的表示和实现。

2、实验要求

(1)用顺序存储结构实现飞机场航次信息,用链式存储结构实现乘客信息。

(2)编写完整程序完成下面的实验内容并上机运行。

(3)整理并上交实验报告。

二、实验内容

1、问题描述

假定某民航机场有m个航次的班机,每个航次都只到达一个目的地。试为该机场售票处设计一个自动订票和退票系统。要求系统具有下列功能:

(1)订票:若该航次余票数大于等于乘客订票数,则在该航次的乘客表(按乘客姓氏字母顺序连接)中,插入订票乘客的信息项,并修改该航次有关数据;否则,给出相应的提示信息。

(2)退票:若该航次当前退票数小于等于乘客原订票数,则在相应的乘客表中找到该乘客项,修改该航次及乘客表中有关数据。当由于退票,使得该乘客的订票

数为0时,要从乘客表中撤销该乘客项;否则,给出相应的提示信息。

(3)将某航次的余票数恢复初值---该航次的最大客票数

2、说明

(1)输入数据。T为功能标志,不同的功能要求不同的输入数据。

1)T=0设置或恢复余票数初值。输入a,需要设置或恢复初值的航次。

2)T=1订票。输入a,订票的航次;输入n,乘客姓名;输入c,订票数。

3)T=2退票。输入a,退票的航次;输入n,乘客姓名;输入c,退票数。

实验四图

一、实验目的及要求

1、实验目的

(1)掌握图的基本存储方法。

(2)掌握有关图的操作算法并用c语言实现。

(3)熟练掌握图的两种搜索路径的遍历方法。

2、实验要求

(1)图的存储结构采用邻接表结构。

(2)分别用深度优先和广度优先搜索对图进行遍历。

(3)编写完整程序完成下面的实验内容并上机运行。

(4)整理并上交实验报告。

二、实验内容

1、问题描述

对给定的下图采用邻接表结构存储,并分别用深度优先和广度优先搜索对图进行遍历。

2、说明

(1)图的邻接表存储:

实验五查找与排序

一、实验目的及要求

1、实验目的

(1)掌握查找的不同方法,并能用c语言实现查找算法。

(2)掌握常用的排序方法,并掌握用c语言实现排序算法的方法。

(3)深刻理解排序的定义和各种排序方法的特点,并能加以灵活应用。

(4)了解各种方法的排序过程及其时间复杂度的分析方法。

2、实验要求

(1)根据题目要求选择合适的查找算法和排序算法。

(2)按照题目要求将结果输出。

(3)编写完整程序完成下面的实验内容并上机运行。

(4)整理并上交实验报告。

二、实验内容

1、问题描述

假设某公司招工n名,报考者的政审、体检已通过,现在要根据报考者的考试成绩择优录取。考试课程有:政治、语文、数学、英语四门。考试成绩分为四类:第一类为四门都及格;第二类为一门成绩不及格;第三类为两门成绩不及格;其余为第四类。录取方法是按类次并在每一类中按总分从高到低录取。

试设计一个成绩处理程序,要求打印输出n份录取通知书,列出录取者四门课程的成绩及总分,最后查找并输出在第一类中英语成绩最好者的纪录。(假设第i名和第i+1名一定不会同类且总分相等。)

2、说明

(1)输入数据:输入每个考生的姓名及各门课程的考试成绩。

(2)输出数据:按照择优录取的次序打印出n份录取通知书如下图:

华北电力大学科技学院实验报告

第11页下载本文

显示全文
专题