华北水利水电大学 数据结构 实验报告
2017~2018学年 第 二 学期 2017级 计算机科学与技术(专升本)专业
班级: 学号: 姓名:
实验一 线性表及其应用
一、 实验目的:
1.掌握用 C/C++语言调试程序的基本方法。
2.掌握线性表的基本运算,如插入、删除等。
二、 实验内容:
1. 编写一个程序,实现顺序表的各种基本运算,在此基础上完成如下功能:
(1) 初始化顺序表L。
(2) 依次在顺序表L中插入元素a、b、c、e。
(3) 输出顺序表L。
(4) 输出顺序表L的长度。
(5) 输出顺序表L的第3个元素。
第 1 页 共 3 页
(6) 输出元素a的位置。
(7) 在第4个元素之前插入元素f。
(8) 输出顺序表L。
(9) 删除第3个元素。
(10) 输出顺序表L。
2. 编写一个程序,实现以下功能,L1=(x1,x2,…,xn),L2=(y1,y2,…,ym),它们是两个线性表(L1和L2中的值都不重复),采用带头结点的单链表存储,设计一个算法合并L1和L2,结果存放在线性表L3中,要求如下:
L3=(x1,y1,x2,y2,…,xm,ym,xm+1,…,xn) 当mn时
L3=(x1,y1,x2,y2,…,xn,yn,yn+1,…,ym) 当m>n时
L3仍采用单链表存储,算法的空间复杂度为O(1)。
(1)建立两个单链表L1和L2并输出。
(2)将合并L1和L2为L3。
(3)输出单链表L3。
第 2 页 共 3 页
三、 实验要求:
1. 完成程序设计并上机调试通过。
2. 撰写实验报告,提供实验结果和数据。
3. 写出算法设计小结和心得。
四、 程序源代码:
五、 程序运行情况(采用截图方式给出运行结果)
六、 小结(包括收获、心得体会、存在的问题及解决问题的方法、建议等)
注:内容一律使用宋体五号字,单倍行间距
第 3 页 共 3 页
因篇幅问题不能全部显示,请点此查看更多更全内容