实验一线性表的顺序存储.doc
文本预览下载声明
实验报告一 线性表的顺序存储
班级: 姓名: 学号: 专业:
实验目的:
掌握顺序表的基本操作的实现方法。
应用顺序表的基本算法实现集合A=AUB算法。
应用顺序表的基本算法实现两有序顺序表的归并算法。
实验内容:
1、线性表顺序存储结构的基本操作算法实现(要求采用类模板实现)
[实现提示] (同时可参见教材p17-p19页算法、ppt)函数、类名称等可自定义,部分变量请加上学号后3位。
库函数和常量定义:(代码)
(1)顺序表存储结构的定义(类的声明):(代码)
(2)初始化顺序表算法实现(不带参数的构造函数)
/*
*输 入:无
*前置条件:顺序表不存在
*功 能:构建一个顺序表
*输 出:无
*后置条件:*/
实现代码:
(3)顺序表的建立算法(带参数的构造函数)
/*
*输 入:顺序表信息的数组形式a[],顺序表长度n
*前置条件:顺序表不存在
*功 能:将数组a[]中元素建为长度为n的顺序表
*输 出:无
*后置条件:构建一个顺序表
*/
/*
*输 入:插入元素,插入位置i
*前置条件:顺序表存在,i要合法
*功 能:将元素插入到顺序表中位置i处
*输 出:无
*后置条件:顺序表插入新元素*/
实现代码:
(5)删除线性表中第i个元素算法
/*
*输 入:要删除元素位置i
*前置条件:顺序表存在,i要合法
*功 能:删除顺序表中位置为i的元素
*输 出:无
*后置条件:*/
实现代码:
(6)遍历线性表元素算法
/*
*输 入:无
*前置条件:顺序表存在
*功 能:顺序表遍历
*输 出:输出所有元素
*后置条件:*/
实现代码:
(7)获得线性表长度算法
/*
*输 入:无
*前置条件:顺序表存在
*功 能:输出顺序表长度
*输 出:顺序表长度
*后置条件:*/
实现代码:
(8)在顺序线性表中查找e值的位序/*
*输 入:查询元素值*前置条件:顺序表存在
*功 能:按值查找值的元素并输出位置
*输 出:查询元素的位置
*后置条件:*/
实现代码:
(9)获得顺序线性表/*
*输 入:查询元素位置i
*前置条件:顺序表存在,i要合法
*功 能:按位查找位置为i的元素并输出值
*输 出:查询元素的值
*后置条件:*/
实现代码:
(10)判表空算法
/*
*输 入:*前置条件:*功 能:*输 出:*后置条件:
*/
实现代码:
(11)求直接前驱结点算法
/*
*输 入:*前置条件:*功 能:*输 出:*后置条件:
*/
实现代码:
(12)求直接后继结点算法
/*
*输 入:*前置条件:*功 能:*输 出:*后置条件:
*/
实现代码:
上机实现以上基本操作,写出main()程序:
要求对每个算法都加以测试,判断是否正确;并测试不同类型数据的操作。
粘贴测试数据及运行结果:
2、对以上顺序表类中的基本操作算法适当加以补充,实现向一个有序的(非递减)的顺序表中插入数据元素e算法。
/*
*输 入:插入元素*前置条件:顺序表*功 能:将元素插入到顺序表中*输 出: *后置条件:/
实现代码:
粘贴测试数据及运行结果:
3、算法实现:La,Lb为非递减的有序线性表,将其归并为Lc,该线性表仍有序(未考虑相同时删除一重复值)MergeList:
/*
*输 入:*前置条件:顺序表*功 能:将*输 出: *后置条件:/
实现代码:
粘贴测试数据及运行结果:
心得体会:(含上机中所遇问题的解决办法,所使用到的编程技巧、创新点及编程的心得)
显示全部