数据结构实验报告
时间:2025-04-17
时间:2025-04-17
线性表、链表、链栈、循环队列实验报告(含程序代码及截图)
数据结构实验报告
姓名: 学号: 专业: 班 级: 指导教师: 实验时间: 实验地点:
(实验题目)
1. 实验内容和要求
实验一 顺序表实验
实验要求 1、顺序表结构定义,算法的实现以库文件方式实现,库文件名统一为seqList.h; 2、实验程序有较好可读性,各运算和变量的命名直观易懂,符合软件工程要求; 3、程序有适当的注释。 实验任务
编写算法实现下列问题的求解。
<1>求顺序表中第i个元素(函数),若不存在,报错。 实验测试数据基本要求:
第一组数据:顺序表长度n≥10,i分别为5,n,0,n+1,n+2 第二组数据:顺序表长度n=0,i分别为0,2
<2>在第i个结点前插入值为x的结点。 实验测试数据基本要求:
第一组数据:顺序表长度n≥10,x=100, i分别为5,n,n+1,0,1,n+2 第二组数据:顺序表长度n=0,x=100,i=5
<3>删除顺序表中第i个元素结点。 实验测试数据基本要求:
第一组数据:顺序表长度n≥10,i分别为5,n,1,n+1,0 第二组数据:顺序表长度n=0, i=5
<4>在一个递增有序的顺序表L中插入一个值为x的元素,并保持其递增有序特性。
实验测试数据基本要求:
顺序表元素为 (10,20,30,40,50,60,70,80,90,100), x分别为25,85,110和8
<5>将顺序表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),分别放入新的顺序表中,然后原表和新表元素同时输出到屏幕上,以便对照求解结果。 实验测试数据基本要求:
第一组数据:顺序表元素为 (1,2,3,4,5,6,7,8,9,10,20,30,40,50,60) 第二组数据:顺序表元素为 (10,20,30,40,50,60,70,80,90,100)
线性表、链表、链栈、循环队列实验报告(含程序代码及截图)
<6>求两个递增有序顺序表L1和L2中的公共元素,放入新的顺序表L3中。 实验测试数据基本要求: 第一组
第一个顺序表元素为 (1,3,6,10,15,16,17,18,19,20)
第二个顺序表元素为 (1,2,3,4,5,6,7,8,9,10,18,20,30) 第二组
第一个顺序表元素为 (1,3,6,10,15,16,17,18,19,20) 第二个顺序表元素为 (2,4,5,7,8,9,12,22) 第三组
第一个顺序表元素为 ()
第二个顺序表元素为 (1,2,3,4,5,6,7,8,9,10)
实验二 单链表实验
实验要求
1、本次实验中的链表结构均为带头结点的单链表; 2、链表结构定义,算法实现放入库文件“linkList.h”; 3、运算和变量命名直观易懂,并有相应的注释。 实验任务
编写算法实现下列问题的求解。
<1>求链表中第i个结点的指针(函数),若不存在,则返回NULL。 实验测试数据基本要求:
第一组数据:链表长度n≥10,i分别为5,n,0,n+1,n+2 第二组数据:链表长度n=0,i分别为0,2
<2>在第i个结点前插入值为x的结点。 实验测试数据基本要求:
第一组数据:链表长度n≥10,x=100, i分别为5,n,n+1,0,1,n+2 第二组数据:链表长度n=0,x=100,i=5
<3>删除链表中第i个元素结点。 实验测试数据基本要求:
第一组数据:链表长度n≥10,i分别为5,n,1,n+1,0 第二组数据:链表长度n=0, i=5
<4>在一个递增有序的链表L中插入一个值为x的元素,并保持其递增有序特性。 实验测试数据基本要求:
链表元素为 (10,20,30,40,50,60,70,80,90,100), x分别为25,85,110和8
<5>将单链表L中的奇数项和偶数项结点分解开(元素值为奇数、偶数),申请2
线性表、链表、链栈、循环队列实验报告(含程序代码及截图)
个头结点,把分开的奇数项和偶数项分别链接到这2个头结点上,然后再将这两个新链表同时输出在屏幕上,并保留原链表的显示结果,以便对照求解结果。 实验测试数据基本要求:
第一组数据:链表元素为 (1,2,3,4,5,6,7,8,9,10,20,30,40,50,60) 第二组数据:链表元素为 (10,20,30,40,50,60,70,80,90,100)
<6>求两个递增有序链表L1和L2中的公共元素,并以同样方式连接成链表L3。 实验测试数据基本要求: 第一组
第一个链表元素为 (1,3,6,10,15,16,17,18,19,20)
第二个链表元素为 (1,2,3,4,5,6,7,8,9,10,18,20,30) 第二组
第一个链表元素为 (1,3,6,10,15,16,17,18,19,20) 第二个链表元素为 (2,4,5,7,8,9,12,22) 第三组
第一个链表元素为 ()
第二个链表元素为 (1,2,3,4,5,6,7,8,9,10)
实验三 链栈实验
实验要求
1、本次实验中,链栈使用带头结点的单链表实现。
2、链栈结构定义,算法实现全部放入库函数“linkStack.h”中; 3、各运算和变量命名直观易懂,并有相应的注释。 实验任务
编写算法实现下列问题的求解。 <1>初始化一个链栈。 <2>判断是否空栈。 <3>入栈
第一组数据:10,13,5,8,20,55 第二组数据:a, b, c, d, e, f, g <4>取栈顶元素 <5>出栈
<6>将10进制数转换为16进制数 第一组数据:4 第二组数据:11 第三组数据:254 第四组数据:1357
实验四 循环队列实验
实验要求
1、本次实验中,队列使用顺序结 …… 此处隐藏:7450字,全部文档内容请下载后查看。喜欢就下载吧 ……