《数 据结构》上机报告 _ 2 0 1 1 _ 年_ 3 _ 月_ 9 _ 日 姓名_ _ _ _ _ 学号_ _ 同组成员 _ _ _ 无_ _ _ 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 ∈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, 若存在,返回元素在表中的序号位置; 若不存在,返回-1 DestroyList_L(&L) 初始条件:线性表 L 已存在 操作结果:销毁线性表 ListEmpty_L(L) 初始条件:线性表已存在 操作结果:若 L 为空表,则返回 ERROR,否则返回 FALSE ListLength_L(L) 初始条件:线性表 L 已存在 操作结果:返回 L 中数据元素个数 GetElem_L(L,I,&e) 初始条件:线性表 L 已存在 操作结果:用 e 返回 L 中第 i 个数据元素值 } (2) 本程序包含 10 个函数: 主函数 main() 初始化单链表函数 InitList_L() 显示单链表内容函数 DispList_L() 插入元素函数 ListInsert_L() 删除元素函数 ListDelete_L() 查找元素函数 LocateList_L()...