文档详情

实验一线性表的顺序存储.doc

发布:2018-10-10约1.6千字共4页下载文档
文本预览下载声明
实验报告一 线性表的顺序存储 班级: 姓名: 学号: 专业: 实验目的: 掌握顺序表的基本操作的实现方法。 应用顺序表的基本算法实现集合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: /* *输 入:*前置条件:顺序表*功 能:将*输 出: *后置条件:/ 实现代码: 粘贴测试数据及运行结果: 心得体会:(含上机中所遇问题的解决办法,所使用到的编程技巧、创新点及编程的心得)
显示全部
相似文档