基于单链表实现集合的并交差运算实验报告
一实验题目基于单链表实现集合的并交差运算
二实验要求
22编写一个程序,实现顺序表的各种基本运算
1初始化单链表h;2依次采用尾插法插入abcde元素3输出单链表h4输出单链表h的长度5判断单链表h是否为空6输出单链表h的第三个元素7输出元素在a的位置8在第4个元素位置上插入f元素9输出单链表h10删除L的第3个元素11输出单链表12释放单链表
22编写一个程序,采用单链表表示集合集合中不存在重复的元素
并将其按照递增的方式排序,构成有序单链表,并求这样的两个集合的并交和差。
三实验内容
31线性表的抽象数据类型ADTList数据对象DaiaiElemSeti12
0数据关系R1ai1aiai1aiDi2
基本操作:I
itListL操作结果构造一个空的线性表L
fDestroyListL初始条件:线性表L已存在操作结果:销毁线性表LClearListL初始条件:线性表L已存在操作结果:将L置为空表ListEmptyL初始条件:线性表已存在操作结果:若L为空表,则返回TRUE,否则返回FALSEListLe
gthL初始条件:线性表已存在操作结果:返回L中数据元素的个数GetElemLi初始条件线性表已存在,1iListLe
gthL操作结果:用e返回L中第i个数据元素的值LocateElemLie初始条件:线性表已存在,用循环遍历整个线性表,如果e与线性表中的元素相同;操作结果:用此时的i1返回该元素在线性表的位序ListI
sertLie初始条件:线性表存在,1iListLe
gthL1操作结果:在L中第i个位置之前插入新的数据元素eL的长度加1。ListDeleteLie初始条件线性表L已存在且非空,1iListLe
gthL;操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1ADTList32存储结构的定义typedefcharElemTypetypedefstructLNodeElemTypedatastructLNode
extLi
kList33基本操作实现
f单链表的初始化voidI
itListLi
kListLLLi
kListmallocsizeofLi
kListL
extNULL向单链表中插入数据元素boolListI
sertLi
kListLi
txcharei
tj0Li
kListpLswhilepNULLjx1pp
extjifpNULLretur
falseelsesLi
kListmallocsizeofLi
kListsdataes
extp
extp
extsretur
true输出单链表voidDispListLi
kListLLi
kListpL
extwhilepNULL
fpri
tf