- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
附件(四)
深 圳 大 学 实 验 报 告
课程名称: 数据结构实验与课程设计
实验项目名称: 顺序表、链表、堆栈队列、串KMP算法
学院:
专业:
指导教师:
报告人: 学号: 班级:
实验时间:
实验报告提交时间:
教务处制
实验目的与完成说明:
1. 简单介绍本实验的主要目的
2. 说明你自己在本次实验中完成了第几项要求(必填)
DS实验01--顺序表 Problem A: DS顺序表--类实现实现顺序表的用C++语言和类实现顺序表
属性包括:数组、实际长度、最大长度(设定为1000)
操作包括:创建、插入、删除、查找Input
第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据(完成)
第2行输入要插入的位置和新数据(完成)
第3行输入要插入的位置和新数据(完成)
第4行输入要删除的位置(完成)
第5行输入要删除的位置(完成)
第6行输入要查找的位置(完成)
第7行输入要查找的位置(完成)
Output
第1行输出创建后的顺序表内容,包括顺序表实际长度和数据(完成)
每成功执行一次操作(插入或删除),输出执行后的顺序表内容(完成)
每成功执行一次查找,输出查找到的数据(完成)
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出顺序表内容(完成)
2. Problem B: DS顺序表--连续操作建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)
实现连续多个插入,即从位置i开始插入多个数据
实现连续多个删除,即从位置i开始删除多个数据Input
第1行先输入n表示有n个数据,即n是实际长度;接着输入n个数据(完成)
第2行先输入i表示插入开始的位置,再输入k表示有k个插入数据,接着输入k个数据(完成)
第3行先输入i表示删除开始的位置,再输入k表示要删除k个数据(完成)
Output
顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开
第1行输出创建后的顺序表内容
第2行输出执行连续插入后的顺序表内容
第3行输出执行连续删除后的顺序表内容 Problem C: DS顺序表--合并操作建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为1000)已知两个递增序列,把两个序列的数据合并到顺序表中,并使得顺序表的数据递增有序Input
第1行先输入n表示有n个数据,接着输入n个数据,表示第1个序列,要求数据递增互不等
第2行先输入m表示有m个数据,接着输入m个数据,表示第2个序列,要求数据递增互不等
Output
顺序表内容包括顺序表的实际长度和数据,数据之间用空格隔开
第1行输出创建后的顺序表内容
DS实验02--链表
Problem A: DS单链表--类实现用C++语言和类实现单链表,含头结点
属性包括:data数据域、next指针域
操作包括:插入、删除、查找
注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据Input
第1行先输入n表示有n个数据,接着输入n个数据(完成)
第2行输入要插入的位置和新数据(完成)
第3行输入要插入的位置和新数据(完成)
第4行输入要删除的位置(完成)
第5行输入要删除的位置(完成)
第6行输入要查找的位置(完成)
第7行输入要查找的位置(完成)
Output
数据之间用空格隔开,(完成)
第1行输出创建后的单链表的数据(完成)
每成功执行一次操作(插入或删除),输出执行后的单链表数据(完成)
每成功执行一次查找,输出查找到的数据(完成)
如果执行操作失败(包括插入、删除、查找等失败),输出字符串error,不必输出单链表(完成)
Problem B: DS单链表--结点交换用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。
注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换
交换函数定义可以参考:
swap(int ?pa, int pb) ?//pa和pb表示两个结点在单链表的位置序号
swap (ListNode * p, ListNode * q) ?//p和q表示指向两个结点的指针Inp
文档评论(0)