.
页脚
附件(四)
深 圳 大 学 实 验 报 告
课程名称:数据结构实验与课程设计
实验项目名称:顺序表、链表、堆栈队列、串KMP 算法学院:
专业:
指导教师:
报告人:点包含数据,必须通过修改指针来实现两个结点的位置交换
交换函数定义可以参考:
swap(int pa, int pb) //pa 和 pb 表示两个结点在单链表的位置序号(5)swap (ListNode * p, ListNode * q) //p 和q 表示指向两个结点的指针
要求:
Input
第 1 行先输入n 表示有n 个数据,接着输入n 个数据(完成) 第 2 行输入要交换的两个结点位置(完成)
第 3 行输入要交换的两个结点位置(完成)
Output
第一行输出单链表创建后的所有数据,数据之间用空格隔开(完成)
第二行输出执行第 1 次交换操作后的单链表数据,数据之间用空格隔开(完成)
第三行输出执行第 2 次交换操作后的单链表数据,数据之间用空格隔开(完成) 如果发现输入位置不合法,输出字符串error,不必输出单链表(完成)
Problem C: DS 单链表--合并目的:
假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并, 继续保持递增有序
int LL_merge(ListNode *La, ListNode *Lb)
.
页脚
要求: Input
第 1 行先输入n 表示有n 个数据,接着输入n 个数据(完成)
第 2 行先输入m 表示有M 个数据,接着输入m 个数据(完成)
Output
输出合并后的单链表数据,数据之间用空格隔开(完成)
Problem D: DS 线性表--多项式相加目的:
对于一元多项式 p(x)=p0+p1x+p2x2+ … +pnxn ,每个项都有系数和指数两部分,例如p2x2 的系数为p2,指数为 2
编程实现两个多项式的相加
例如 5+x+2x2+3x3,-5-x+6x2+4x4,两者相加结果:8x2+3x3+4x4
其中系数 5 和-5 都是x 的 0 次方的系数,相加后为0,所以不显示。x 的 1 次方同理不显示。
可用顺序表或单链表实现
要求: Input
第 1 行:输入t 表示有t 组测试数据(完成)
第 2 行:输入n 表示有第 1 组的第 1 个多项式包含n 个项(完成)
.
页脚
第 3 行:输入第一项的系数和指数,以此类推输入n 行(完成)
接着输入m 表示第 1 组的第 2 个多项式包含m 项(完成) 同理输入第 2 个多项式的m 个项的系数和指数(完成) 参考上面输入第 2 组数据,以此类推输入t 组(完成) 假设所有数据都是整数(完成)
Output
对于每 1 组数据,先用两行输出两个原来的多项式,再用一行输出运算结果,不必考虑
结果全为 0 的情况(完成)
输出格式参考样本数据,格式要求包括:
如果指数或系数是负数,用小括号括起来(完成)
如果系数为 0,则该项不用输出(完成)
如果指数不为 0,则用符号^表示,例如x 的 3 次方,表示为x^3(完成)
多项式的每个项之间用符号+连接,每个+两边加 1 个空格隔开(完成)
DS 实验 03--堆栈与队列
Problem A: DS 堆栈--逆序输出(STL 栈使用) 目的:
C++中已经自带堆栈对象stack,无需编写堆栈操作的具体实现代码。 (2)本题目主要帮助大家熟悉stack 对象的使用,然后实现字符串的逆序输出
(3)输入一个字符串,按字符按输入顺序压入堆栈,然后根据堆栈后进先出的特点, 做逆序输出
.
页脚
要求: Input
第一行输入t,表示有t 个测试实例(完成)
第二起,每一行输入一个字符串,注意字符串不要包含空格(完成)
Output
每行逆序输出每一个字符串(完成)
Problem B: DS 线性表综合练习--队列之银行排队目的:
在银行营业大厅共服务 3 种客户,类型为 A\B\C,大厅分别设置了 3 个窗口分别服务三种客户,即每个窗口只服务一种客户。现有一批客户来银行办理业务,每个客户 都有类型和办理业务时间。每个窗口按照客户到来的顺序进行服务。
要求: Input
第一行输入先输入n 表示客户数量(完成)
第二行输入每个客户的类型,数据之间用用空格隔开(完成)
第三行输入每个客户的办理时间,数据之间用用空
顺序表链表KMP实验报告 来自淘豆网m.daumloan.com转载请标明出处.