"2015-2016学年第二学期软件工程课程单链表操作实验报告"

版权申诉
0 下载量 130 浏览量 更新于2024-03-09 收藏 187KB DOC 举报
定的功能,按其他键,则显示错误后重新选择。(2)要求用线性表的方式存储单链表,实现上述基本操作。 四、实验步骤 1、分析实验要求,设计单链表的数据结构以及各种操作函数。 2、通过C语言编写单链表基本操作测试程序。 3、测试程序功能是否正常,进行调试和修改。 4、编译程序,执行测试。 五、实验结果及分析 经过实验,我们成功实现了单链表的基本操作功能。程序可以初始化单链表、创建单链表、求单链表长度、输出单链表中每一个结点元素、在指定位置插入元素、查找指定位置元素的值、查找值为e的结点并返回指针、删除指定位置的结点以及销毁单链表。在程序启动后,用户可以通过菜单形式选择进行不同的操作,操作成功后会返回相应的结果。六、心得体会 在本次实验中,我进一步掌握了C语言的基本结构及特点,加深了对线性表的各种物理存储表示和C语言实现的理解。通过设计和实现单链表的各种主要操作,我对线性表中的单链表存储表示与实现有了更深入的理解。通过实验,我不仅学会了如何用C语言编写单链表基本操作程序,还学会了如何进行程序的调试和修改,以及如何编译和执行程序。这次实验让我对算法与数据结构有了更加清晰的认识,也对C语言的应用有了更进一步的掌握。通过这次实验,我不仅提高了自己的编程能力,还培养了自己的动手能力和解决实际问题的能力。希望今后能够继续学习和提高自己的专业知识,做出更多更好的成果。算法与数据结构实验报告.doc;2015-2016学年第二学期 《算法与数据结构》课程实验报告 专业 "软件工程 " 学生姓名 "成晓伟 " 班级 "软件141 " 学号 "1410075094 " 实验学时 "16 " 实验教师 "徐秀芳 " 信息工程学院 实验一 单链表的基本操作 一、实验目的 1.熟悉C语言上机环境,进一步掌握C语言的基本结构及特点。 2.掌握线性表的各种物理存储表示和C语言实现。 3.掌握单链表的各种主要操作的C语言实现。 4.通过实验理解线性表中的单链表存储表示与实现。 二、主要仪器及耗材 普通计算机 三、实验内容与要求 1、用C语言编写一个单链表基本操作测试程序。 (1)初始化单链表 (2)创建单链表 (3)求单链表长度 (4)输出单链表中每一个结点元素 (5)指定位置插入某个元素 (6)查找第i个结点元素的值 (7)查找值为e 的结点,并返回该结点指针 (8)删除第i个结点 (9)销毁单链表 2、实验要求 (1)程序中用户可以选择上述基本操作。程序启动后,在屏幕上可以菜单形式显示不同功能,当按下不同数字后完成指定的功"。
2022-12-23 上传
《数据结构与算法分析》实验报告 姓名 学号_ _____ __年 __月__ __日 上机题目:以静态链表为存储结构,编写给定权值{7,19,2,6,32,3}构造哈夫曼树的 算法。 (输出以存储结构表示或以树型显示(90度旋转)) 需求分析 1. 输入数据必须为int的整形数据,其数值范围为:-~47 2. 输出的数据格式为:%d 3. 测试数据的数据为:{7,19,2,6,32,3} 详细设计 1. 该程序采用顺序表的存储结构,其数据结构定义如下: #define n 6 #define m 2*n-1 #define max 100typedef struct {int data; int lchild,rchild,prnt; }hufmtree; 所用数据类型中每个操作的伪码算法如下: 创建哈夫曼树 Program hufm(hufmtree t[m]) FOR i=0;i<m;i++ TO t[i].data=0; t[i].lchild=0; t[i].rchild=0; t[i].prnt=0; End FOR 输入结点值 FOR i=n;i<m;i++ TO p1=0;p2=0; small1=max;small2=max FOR j=0;j<=i-1;j++ TO IFt[j].prnt?=0 IF(t[j].data<small1) small2=small1; small1=t[j].data; p2=p1; p1=j;} ELSE IF(t[j].data<small2) small2=t[j].data; p2=j; t[p1].prnt=i+1; t[p2].prnt=i+1; t[i].lchild=p1+1; t[i].rchild=p2+1; t[i].data=t[p1].data+t[p2].data; END IF END FOR END Hufman 调试分析 1. 调试过程中主要遇到哪些问题?是如何解决的? 开始的时候main函数的数据结构类型定义的与主函数不同,而且缺少返回值,导致最 后的结果陷入死循环,通过看书,向同学询问,得以解决。 2. 经验和体会 哈夫曼树又称最优二叉树,此次实验创建哈夫曼树算法,虽然依旧犯了不少错误,但 仍解决了。在其中学习了很多,对树有了更深的了解。 测试结果 附件 见 058詹奇.Cpp ----------------------- 数据结构与算法分析实验报告全文共3页,当前为第1页。 数据结构与算法分析实验报告全文共3页,当前为第2页。 数据结构与算法分析实验报告全文共3页,当前为第3页。