1. 实验题目及要求
编写一个程序,实现单链表的各种基本运算
2. 需求分析
建立一个单链表,实现单链表的初始化,插入、删除节点等功能,以及确定某一元素在单链表中的位置。
(1) 初始化单链表;
(2) 依次采用尾插入法插入a,b,c,d,e元素;
(3) 输出单链表L;
(4) 输出单链表L的长度;
(5) 判断单链表L是否为空;
(6) 输出单链表L的第三个元素;
(7) 输出元素a的位置;
(8) 在第4个元素位置上插入f元素;
(9) 输出单链表L;
(10) 删除L的第3个元素;
(11) 输出单链表L;
(12) 释放单链表。
3. 概要设计
(1) 为了实现上述程序功能,需要定义一个简化的线性表抽象数据类型:
ADT LinearList {
数据对象:D={ ai|ai∈IntegerSet,i=0,1,2,…,n,n≥0}
结构关系:R={<ai,ai+1>|ai,ai+1 ∈D}
基本操作:
InitList_L(L)
操作前提:L是一个未初始化的线性表
操作结果:将L初始化为一个空的线性表
CreateList_L(L)
操作前提:L是一个已初始化的空表
操作结果:建立一个非空的线性表L
ListInsert_L(L,pos,e)
操作前提:线性表L已存在
操作结果:将元素e插入到线性表L的pos位置
ListDelete_L(L,pos,e)
操作前提:线性表L已存在
操作结果:将线性表L中pos位置的元素删除,
删除的元素值通过e返回
LocateList_L(L,e)
操作前提:线性表L已存在
操作结果:在线性表L中查找元素e,
若存在&#