文档介绍:第2页 / 总页数 23 页
顺序表链表KMP实验报告
附件(四)
深 圳 大 学 实 验 报 告
课程名称: 数据结构实验与课程设计
实验项目名称: 顺序表、链表、堆栈队列、串KMP算法
学院:
专业:
指导教师:
报告人: 学号: 班级:
实验时间:
1 \/ 89
实验报告提交时间:
教务处制
一、 实验目的与完成说明: 1. 简单介绍本实验的主要目的 2. 说明你自己在本次实验中完成了第几项要求(必填) DS实验01--顺序表 1. Problem A: DS顺序表--类实现 目的: (1)实现顺序表的用C++语言和类实现顺序表 (2)属性包括:数组、实际长度、最大长度(设定为1000) (3)操作包括:创建、插入、删除、查找 要求: Input 第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据(完成) 第2行输入要插入的位置和新数据(完成) 第3行输入要插入的位置和新数据(完成) 第4行输入要删除的位置(完成) 2 \/ 89
第2页 / 总页数 23 页
第5行输入要删除的位置(完成) 第6行输入要查找的位置(完成) 第7行输入要查找的位置(完成)
Output
第1行输出创建后的顺序表内容,包括顺序表实际长度和数据(完成) 每成功执行一次操作(插入或删除),输出执行后的顺序表内容(完成) 每成功执行一次查找,输出查找到的数据(完成)
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容(完成)
2. Problem B: DS顺序表--连续操作 目的:
(1)建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)
(2)实现连续多个插入,即从位置i开始插入多个数据 (3)实现连续多个删除,即从位置i开始删除多个数据
要求: Input
第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据(完成) 第2行先输入i表示插入开始的位置,再输入k表示有k个插入数据,接着输入k个数据(完成)
第3页 / 总页数 23 页
第3行先输入i表示删除开始的位置,再输入k表示要删除k个数据(完成)
Output
3 \/ 89
顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开(完成) 第1行输出创建后的顺序表内容(完成) 第2行输出执行连续插入后的顺序表内容(完成) 第3行输出执行连续删除后的顺序表内容(完成) 3. Problem C: DS顺序表--合并操作 目的: (1)建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000) (2)已知两个递增序列,把两个序列的数据合并到顺序表中, (3)并使得顺序表的数据递增有序。 要求: Input 第1行先输入n表示有n个数据,接着输入n个数据,表示第1个序列,要求数据递增互不等(完成) 第2行先输入m表示有m个数据,接着输入m个数据,表示第2个序列,要求数据递增互不等(完成) Output 顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开(完成) 第1行输出创建后的顺序表内容(完成) DS实验02--链表 4 \/ 89
1. Problem A: DS单链表--类实现 目的:
(1)用C++语言和类实现单链表,含头结点 (2)属性包括:data数据域、next指针域 (3)操作包括:插入、删除、查找
(4)注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据
第4页 / 总页数 23 页
要求: Input
第1行先输入n表示有n个数据,接着输入n个数据(完成) 第2行输入要插入的位置和新数据(完成) 第3行输入要插入的位置和新数据(完成) 第4行输入要删除的位置(完成) 第5行输入要删除的位置(完成) 第6行输入要查找的位置(完成) 第7行输入要查找的位置(完成