以下为《 数据结构与算法实验报告_实验1》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
中北大学***
实验报告
专 业:
软件工程
课程名称:
数据结构与算法
班 级:
***
学 号:
***25
姓 名:
梁某某
辅导教师:
贾某某
2022年3月制
成绩:
实验时间
2022年 月 日 时至 时
学时数
2学时
1.实验名称
抽象数据类型的表示和实现
2.实验目的
(1)复习巩固C语言的结构体、指针、函数、动态分配内存等知识点。
(2)掌握抽象数据类型的定义、表示和实现,为后续实验打好基础。
3.实验内容
基本要求:
设计实现抽象数据类型“三元组”,要求动态分配内存。每个三元组由任意三个实数的序列构成,基本操作包括:创建一个三元组,取三元组的任意一个分量,置三元组的任意一个分量,求三元组的最大分量,求三元组的最小分量,显示三元组,销毁三元组等。
选作内容:
实现两个三元组的对应分量相加或相减,给三元组的各分量同乘一个比例因子等操作。
4.数据类型描述(此处写清楚三元组的抽象数据类型描述)
ADT complex
{
数据对象:d={v0,v1,v2}
数据关系:s={}
基本操作:
(&t,a,b,c)
操作结果:构造一个三元组,赋值为a,b,c
(t,&e,i)
操作结果:取出第i个值,返回e中
(&t,i,1)
操作结果:把第i个值修改为1
Max (t,max)
操作结果:取出最大值
Min (t,min)
操作结果:取出最小值
Put(t)
操作结果:输出三元组
Destroy(t)
操作结果:销毁三元组
}ADT complex
5.实验源代码
#include
#include
# define OK 1
# define ERROR 0
# define OVERFLOW -2
Tpyedef int Status;
typedef float ElemType;
Typedef ElemType *Triplet;
Stasus initTriplet(Triplet &T,ElemType v0,,ElemType v1,,ElemType v2)
{
T = ( Triplet )malloc(3*sizeof(ElemType));
if ( T!=NULL )
{
printf("分配内存失败!");
exit(OVERFLOW);
}
T[0] = v0;
T[1] = v1;
T[2] = v2;
return OK;
}
void destroyTriplet(Triplet &T)
{
free(T)
;
printf("分配内存已释放!");
exit(0);
}
Status getElem(Triplet T, int i, ElemType &e)
{
if (i < 1 || i > 3)
re 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 ;
printf("三元组第2元的值改成了:%.1f\n",T[1]);
destroyTriplet(T)
;
return 0;
6.实验结论及心得
学会了三元组的使用,能够将其表示和实现.
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《 数据结构与算法实验报告_实验1》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。