数据结构实验指导
DESCRIPTION
数据结构实验指导. ( 实验一 单链表实验 ) 胡学钢 张晶 合肥工业大学计算机与信息学院 ( [email protected] ) 2009 年 3 月. 实验一 单链表实验. 1 .1 实验目的 ( 1 )理解线性表的链式存储结构。 ( 2 )熟练掌握动态链表结构及有关算法的设计。 ( 3 )根据具体问题的需要,设计出合理的表示数据的链表结构,并设计相关算法。. 实验一 单链表实验. 1.2 实验任务 说明 1 :本次实验中的链表结构均为 带头结点的单链表 。 - PowerPoint PPT PresentationTRANSCRIPT
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
数据结构实验指导
(实验一 单链表实验)胡学钢 张晶
合肥工业大学计算机与信息学院([email protected])
2009年 3月
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验1 .1 实验目的
( 1 )理解线性表的链式存储结构。( 2 )熟练掌握动态链表结构及有关算法的设计。( 3 )根据具体问题的需要,设计出合理的表示数据的
链表结构,并设计相关算法。
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验1.2 实验任务说明 1 :本次实验中的链表结构均为带头结点的单链表。说明 2 :为使实验程序简洁直观,下面的部分实验程序中将所需要的函
数以调用库函数的形式给出,并假设将库函数放在程序文件“ linklist.h” 中,同时假设该库函数文件中定义了链表结构中的指针类型为link ,结点类型为 node ,并定义了部分常用运算。
例如构建链表、以某种方式显示链表、从文件中读入一个链表、跟踪访问链表结点等。
各运算的名称较为直观,并有相应的注释,因而易于理解和实现。
读者在上机实验时,需要自己设计出所涉及到的库函数,或者将函数放在实验程序中,以方便实验程序的调试。如时间紧的话,也可到作者的网站下载以供参考(不完全相同)。
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验编写算法实现下列问题的求解。<1> 求链表中第 i 个结点的指针(函数),若不存在,则返回 NULL 。实验测试数据基本要求:
第一组数据:链表长度 n≥10 , i 分别为 5 , n , 0 , n+1 , n+2第二组数据:链表长度 n=0 , i 分别为 0 , 2
<2> 在第 i 个结点前插入值为 x 的结点。实验测试数据基本要求:
第一组数据:链表长度 n≥10 , x=100, i 分别为 5,n,n+1,0,1,n+2第二组数据:链表长度 n=0 , x=100 , i=5
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验<3> 删除链表中第 i个元素结点。实验测试数据基本要求:
第一组数据:链表长度 n≥10 , i分别为 5,n,1,n+1,0 第二组数据:链表长度 n=0 , i=5
<4> 在一个递增有序的链表 L中插入一个值为 x的元素,并保持其递增有序特性。
实验测试数据基本要求:链表元素为 ( 10,20,30,40,50,60,70,80,90,100 ) ,x 分别为 25, 85 , 110 和 8
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验<5> 将单链表L中的奇数项和偶数项结点分解开,并分别连
成一个带头结点的单链表,然后再将这两个新链表同时输出在屏幕上,并保留原链表的显示结果,以便对照求解结果。
实验测试数据基本要求:第一组数据:链表元素为 ( 1,2,3,4,5,6,7,8,9,10,20,
30,40,50,60 )第二组数据:链表元素为 ( 10,20,30,40,50,60,70,80,
90,100 )
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
实验一 单链表实验<6> 求两个递增有序链表 L1 和 L2 中的公共元素,并以同样方式连接成
链表 L3 。实验测试数据基本要求:
第一组第一个链表元素为 ( 1 , 3 , 6 , 10 , 15 , 16 , 17 , 18 , 19 , 2
0 )第二个链表元素为 ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 18 ,
20 , 30 )第二组
第一个链表元素为 ( 1 , 3 , 6 , 10 , 15 , 16 , 17 , 18 , 19 , 20 )
第二个链表元素为 ( 2 , 4 , 5 , 7 , 8 , 9 , 12 , 22 )第三组
第一个链表元素为 ()第二个链表元素为 ( 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 )
合肥工业大学 人工智能与数据挖掘研究室合肥工业大学 人工智能与数据挖掘研究室
谢谢!