数据结构与算法实验报告_实验1

本文由用户“hhhhttty”分享发布 更新时间:2022-06-17 18:10:56 举报文档

以下为《 数据结构与算法实验报告_实验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》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览