.
实验 一 抽象数据类型的表示与实现 一.实验目的及要求
(1) 熟悉类C语言的描述方法,学会将类C语言描述的算法转换为C源程序实现; (2) 理解抽象数据类型的定义,编写完整的程序实现一个抽象数据类型(如三元组); (3) 认真阅读和掌握本实验的参考程序,上机运行程序,保存和打印出程序的运行结果,并结合程序进行分析。 二.实验内容
(1) 编程实现对一组从键盘输入的数据,计算它们的最大值、最小值等,并输出。
要求:将计算过程写成一个函数,并采用引用参数实现值的求解。
(2) 编程实现抽象数据类型三元组的定义、存储和基本操作,并设计一个主菜单完
成各个功能的调用。
三.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页)
(1)编程实现对一组从键盘输入的数据,计算它们的最大值、最小值等,并输出。
要求:将计算过程写成一个函数,并采用引用参数实现值的求解。
程序代码部分:
头文件:
#define N 10000
void comparason(double a[],int n,double &max,double &min);
主函数:
#include\#include\
int main() { int n; printf(\请输入数据个数\\n\ scanf(\ double a[N],max,min; int i; printf(\请输入数据(空格隔开)\\n\ for(i=0;i . . { scanf(\ } comparason(a,n,max,min); printf(\最大值为%lf,最小值为%lf\\n\ return 0; } 功能函数: #include\#include\ void comparason(double a[],int n,double &max,double &min) { int i; max=a[0]; min=a[0]; for(i=0;i return; } ? 运行结果: . . (2) 编程实现抽象数据类型三元组的定义、存储和基本操作,并设计一个主菜单完成各个功能的调用。 程序代码部分: 头文件: #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int ElemType; typedef ElemType *Triplet; Status InitTriplet(Triplet &T,ElemType v1,ElemType v2,ElemType v3); Status DestroyTriplet(Triplet &T); Status Get(Triplet T,int i,ElemType &e); Status Put(Triplet &T,int i,ElemType e); Status IsAscending(Triplet T); Status IsDescending(Triplet T); Status Max(Triplet T,ElemType &e); Status Min(Triplet T,ElemType &e); 主函数: #include\#include\#include\ int main() { .