数据结构 实验报告完整版.docx
- 文档编号:1117467
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:95
- 大小:140.25KB
数据结构 实验报告完整版.docx
《数据结构 实验报告完整版.docx》由会员分享,可在线阅读,更多相关《数据结构 实验报告完整版.docx(95页珍藏版)》请在冰豆网上搜索。
数据结构实验报告完整版
四川师范大学计算机学院
实验报告册
院系名称:
计算机科学学院
课程名称:
数据结构
实验学期2010年至2011年第一学期
专业班级:
2010级教育技术学
姓名:
学号:
指导教师:
实验最终成绩:
实验报告须知
1.学生填写实验报告应按规范填写,填写格式见由任课老师给出的实验报告样本;
2.学生应填写的内容包括:
封面相关栏目、第一页中‘本学期(年)开设实验课程情况一览表'中的实验名称、学时数;每次报告中的实验性质、同组人姓名、实验日期、以及实验报告中的一至五项;
3.教师填写内容为:
实验评价、每次报告成绩、第一页中‘本学期(年)开设实验课程情况一览表'中成绩、及封面的实验最终成绩;
4.学生实验结束后,教师应对学生实验结果进行核实,学生方可离开实验室。
5、实验成绩等级分为(90-100分)优,(80-89分)良,(70-79分)中,(60-69分)及格,(59分)不及格。
6.本实验册应妥善保管,本课程实验结束后应交回实验室。
.
本学期(年)开设实验课程情况一览表
实验名成学时(分数或等级(学生实验后填写
学1抽象数据类型的表示与实学2线性表实3学栈和队列实学4稀疏矩阵实5学树和二叉树实6学图及其应用实学7查找和排序实8
9
10
11
12
13
14
15
16
17
18
19
20
实验报告
(1)
实验名称
抽象数据类型的表示与实现
□基本操作
■验证性
同组人姓名
实验性质
■综合性
□设计性
实验日期
2011年9月实验成绩30日
教师评价:
实验预习□
实验操作□实验结果□实验报告□
其它□
教师签名:
一、
实验目的及要求
1)熟悉类C语言的描述方法,学会将类C语言描述的算法转换为实现;
C源程序
2)理解抽象数据类型的定义,编写完整的程序实现一个抽象数据类型(如
三元组)。
3)认真阅读和掌握本实验的参考程序,上机运行程序,
保存和打印出程序的
运行结果,并结合程序进行分析。
二、
实验内容
1)编程实现抽象数据类型三元组的定义、存储、
基本操作
(最大值、最小值、
,并设计一个主菜单完成各个功能的调用。
平均值等的求解).
三、主要设备及软件
1)机PC2)TurboC2.0
VisualC++或
四、实验流程、操作步骤或核心代码、算法片段
(一)头文件(H1.h)
#ifndefH1_H
#defineH1_H
#defineOK1
#defineERROR0
#defineOVERFLOW-2
typedefintStatus;
typedefintElemType;
typedefElemType*Triplet;
函数声明//InitTriplet(Triplet&T,ElemTypev1,ElemTypev2,ElemTypev3);externStatus
DestroyTriplet(Triplet&T);externStatus
Get(TripletT,inti,ElemType&e);externStatus
Put(Triplet&T,inti,ElemTypee);externStatus
Max(TripletT,ElemType&e);externStatus
Min(TripletT,ElemType&e);externStatus
Average(TripletT,ElemType&e);externStatus
#endif
)function.cpp)(二功能函数(#include
#includeh1.h
StatusInitTriplet(Triplet&T,ElemTypev1,ElemTypev2,ElemTypev3)
{
T=(ElemType*)malloc(3*sizeof(ElemType));
if(!
T)
returnOVERFLOW;
T[0]=v1;T[1]=v2;T[2]=v3;returnOK;
}
DestroyTriplet(Triplet&T)Status
{
T=NULL;free(T);
returnOK;
}
Get(TripletT,inti,ElemType&e)Status
{
if(i<1||i>3)
returnERROR;
e=T[i-1];
returnOK;
}
Put(Triplet&T,inti,ElemTypee)Status
{
if(i<1||i>3)
returnERROR;
T[i-1]=e;
returnOK;
}
StatusMax(TripletT,ElemType&e)
{
e=(T[0]>=T[1])?
((T[0]>=T[2])?
T[0]:
T[2]):
((T[1]>=T[2])?
T[1]:
T[2]);
returnOK;
}
Min(TripletT,ElemType&e)Status
{
e=(T[0]<=T[1])?
((T[0]<=T[2])?
T[0]:
T[2]):
((T[1]<=T[2])?
T[1]:
T[2]);
returnOK;
}
StatusAverage(TripletT,ElemType&e)
{
e=(T[0]+T[1]+T[2])/3;
returnOK;
}
(triplet.cpp)
(三)主函数#include
#includeh1.h
voidmain()
{
p;
Triplet
ElemTypee,v1,v2,v3;
inti;
intselect;
\n);输入三个数,建立一个三元组牰湩晴尨scanf(%d%d%d,&v1,&v2,&v3);
if(InitTriplet(p,v1,v2,v3)==OVERFLOW)
);
分配失败,退出程序!
牰湩晴尨
else
do
{
printf(:
取三元组的最大值\n);
printf(:
取三元组的最小值\n);
printf(:
求三元组的平均值\n);
printf(结束!
\n);
牰湩晴尨请输入选择!
\n);
scanf(%d,&select);
switch(select)
{case1:
Max(p,e);
牰湩晴尨最大值是:
%d\n,e);break;
case2:
Min(p,e);
牰湩晴最小值是%d\n,e);break;case3:
Average(p,e);
牰湩晴平均值是%d\n,e);break;
case0:
牰湩晴操作结束);break;
敤慦汵?
瀠楲瑮输入选择出错\n);
}//endofswitch
}while(select!
=0);//endofwhile
DestroyTriplet(p);
}//endofmain
五实验结果的分析与评实验结果:
分析:
(1)类C语言面对对象,而C语言面对过程;
(2)核心算法就相当于C语言的程序;
(3)初步了解三元组的建立等知识;
(4)初步了解利用C++编程的步骤及编程的组成部分;
(5)初次接触还是对很多地方倍感疑惑,需要多多操作理解;
实验报告
(2)
线性表实验:
顺序存储、链式存储实验名称
□基本操作■验证性实验性质同组人姓名■综合性□设计性
10年2010实验成绩实验日期日9月教师评价:
其它□实验报告□实验结果□实验操作□实验预习□.
一、1现;
23指针类型、链表的使用)认真阅读和掌握本实验的参考程序,运行结果,并结合程序进行分析。
按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果二、
教师签名:
实验目的及要求
)
熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实
)以线性表的各种操作(建立、插入、删除等)的实现为重点;)通过本次实习帮助学生加深对高级语言
C
语言的使用(特别是函数参数、
。
上机运行本程序,
保存和打印出程序的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验报告完整版 实验 报告 完整版