文档详情

数据结构_实验一_抽象数据类型的表示与实现.doc

发布:2017-01-18约5.26千字共12页下载文档
文本预览下载声明
实验编号:1 四川师大《数据结构》实验报告 2016年9月8日 实验一 抽象数据类型的表示与实现_ 实验目的及要求 (1) 熟悉类C语言的描述方法,学会将类C语言描述的算法转换为C源程序实现; (2) 理解抽象数据类型的定义,编写完整的程序实现一个抽象数据类型(如三元组); (3) 认真阅读和掌握本实验的参考程序,上机运行程序,保存和打印出程序的运行 结果,并结合程序进行分析。 实验内容 (1)编程实现对一组从键盘输入的数据,计算它们的最大值、最小值等,并输出。 要求:将计算过程写成一个函数,并采用引用参数实现值的求解。 (2) 编程实现抽象数据类型三元组的定义、存储和基本操作,并设计一个主菜单完成各个功能的调用。 注:(1)为必做题,(2)选做。 主要仪器设备及软件 (1) PC机 (2) Dev C++ ,Visual C++, VS2010等 实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页) (1) 编程实现对一组从键盘输入的数据,计算它们的最大值、最小值等,并输出。 要求:将计算过程写成一个函数,并采用引用参数实现值的求解。 代码部分: Triplet.h: #ifndef triplet_h #define triplet_h #includestdio.h #includestdlib.h #define OK 1 #define OVERFLOW -2 typedef int ElemType; typedef int Status; typedef ElemType * Triplet; Status InitTriplet(Triplet T, ElemType v1, ElemType v2, ElemType v3);//为三元组分配储存空间 Status Max(Triplet T, ElemType e);//用e返回T的最大值 Status Min(Triplet T, ElemType e);//用e返回T的最小值 #endif Triplet.cpp: #includetriplet.h //为三元组分配储存空间 Status InitTriplet(Triplet T, ElemType v1, ElemType v2, ElemType v3) { T = (ElemType *)malloc(3 * sizeof(ElemType)); if(!T) { exit(OVERFLOW); } T[0] = v1; T[1] = v2; T[2] = v3; return OK; } //用e返回T的最大值 Status Max(Triplet T, ElemType e) { e = (T[0] = T[1]) ? ((T[0] = T[2]) ? T[0]:T[2]) : ((T[1] = T[2]) ? T[1]:T[2]); return OK; } //用e返回T的最小值 Status Min(Triplet T, ElemType e) { e = (T[0] = T[1]) ? ((T[0] = T[2]) ? T[0]:T[2]) : ((T[1] = T[2]) ? T[1]:T[2]); return OK; } Mian.cpp: #includetriplet.h int main() { Triplet T; ElemType e=0,a,b,c; printf(请输入三个数(用空格分开)); scanf(%d%d%d,a,b,c); InitTriplet(T, a, b, c); Max(T, e); printf(最大值:% d\n, e); Min(T, e); printf(最小值: %d\n, e); system(pause); return 0; } 运行结果: (2) 编程实现抽象数据类型三元组的定义、存储和基本操作,并设计一个主菜单完成各个功能的调用。 代码部分: Triplet.h: #pragma once #includestdio.h #includestdlib.h #define OK 1 #define ERROR 0 #define OVERFLOW 0 typedef int ElemType; typedef int Status; typedef ElemType *Triplet;
显示全部
相似文档