合工大宣城校区数据结构实验报告——单链表.pdfVIP

  • 30
  • 0
  • 约4.82千字
  • 约 11页
  • 2021-06-28 发布于上海
  • 举报

合工大宣城校区数据结构实验报告——单链表.pdf

合工大宣城校区数据结构实验 报告——单链表 数据结构实验报告 专业班 姓名 学号 级 实验地 指导教师 实验时间 11 月 9 日 计算中心 点 实验二 单链表实验 1. 实验目标 ① 熟练掌握线性表的链式存储结构。 ② 熟练掌握单链表的有关算法设计。 ③ 根据具体问题的需要,设计出合理的表示数据的链式存储结构,并设计相关算 法。 2. 实验内容和要求 Ⅰ.实验要求 ① 本次实验中的链表结构指带头结点的单链 ② 单链表结构和运算定义,算法的实现以库文件方式实现,不得在测试主程序中 直接实现;比如存储、算法实现放入文件:linkedList.h ③ 实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求; ④ 程序有适当的注释。 Ⅱ.实验内容 1尾插法创建单链表,打印创建结果。 2头插法创建单链表,打印创建结果。 3销毁单链表。 4求链表长度。 5求单链表中第 i 个元素(函数),若不存在,报错。 6在第 i 个结点前插入值为 x 的结点 7链表中查找元素值为 x 的结点,成功返回结点指针,失败报错 8删除单链表中第 i 个元素结点 9在一个递增有序的单链 L 中插入一个值为 x 的元素,并保持其递增有序 特性 10将单链表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分 别放入新的单链表中,然后原表和新表元素同时输出到屏幕上,以便对照求解 结果 11求两个递增有序单链 L1 和 L2 中的公共元素,放入新的单链 L3 中 12删除递增有序单链表中的重复元素,要求时间性能最好 13递增有序单链 L1、L2,不申请新结点,利用原表结点对 2 表进行合并, 并使得合并后成为一个集合,合并后用 L1 的头结点作为头结点,删除 L2 的头 结点,要求时间性能最好 扩展实验: 1 (递增有序)单链 示集合A、B ,实现: C=AB ,C=AB ,C=A-B A=AB ,A=AB ,A=A-B 2 (递增有序)单链 示集合A、B ,判定A 是否 B 的子集 3已知一个带有表头结点的单链表,结点结构如下图。假设该链表只给出了 头指针 list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找 链表中倒数第 k 个位置上的结点(k 为正整数)。若查找成功,算法输出该结 点的 data 值,并返回 1;否则,只返回 0。 L / 2 4(2011) (15 分)一个长度为 L (L≥1)的升序序列 S,处在第 个位置的数称为 S 的中位数。例如,若序列 S1=(11, 13, 15, 17, 19),则 S1 的 中位数是 15。两个序列的中位数是含它们所有元素的升序序列的中位数。例如, 若 S2=(2, 4, 6, 8, 20),则 S1 和 S2 的中位数是 11。 现有两个等长升序序列 A 和 B ,试设计一个在时间和空间两方面都 尽可能高效的算法,找出两个序列 A 和 B 的中位数 3. 数据结构设计 struct Node { int value; Node *next; Node(int value = 0, Node *pNext = 0) { this-value

文档评论(0)

1亿VIP精品文档

相关文档