实验报告.线性表的顺序表示和实现.docVIP

  • 647
  • 0
  • 约3.92千字
  • 约 11页
  • 2018-03-11 发布于河南
  • 举报
实验报告.线性表的顺序表示和实现

数学与计算科学学院 实 验 报 告 实验项目名称 :线性表的顺序表示和实现 所属课程名称 : 数据结构A 实 验 类 型 : 验证性 实 验 日 期 : 2012年4月5号 班 级 : 学 号: 姓 名: 成 绩 : 一、实验概述: 【实验目的】 (1)、线性表的逻辑结构特征。 ①、总存在第一个和最后一个元素。 ②、除第一个元素以外,每一个元素总存在唯一一个直接前驱元素。 ③、除最后一个元素以外,每一个元素总存在唯一一个直接后驱元素。 (2)、顺序表的特征。 ①、逻辑关系上相邻的物理位置上也相邻。 ②、是一种随机存储结构,可以用一个简单直观的公式来表示每一个元素的地址。 (3)、通过上机实验验证线性表的顺序结构的正确性,了解算法与程序的区别。 【实验原理】 //--------线性表的动态分配顺序存储结构----------- #define LIST_INIT_SIZE 5 //线性表存储空间的初始分配量 #define LISTINCREMENT 2 //线性表存储空间的分配增量 typedef struct{ ElemType *elem; //存储空间基址 int length; //当前长度 int listsize; //当前分配的存储容量(以sizeof(ElemType)为单位) }SqList; 【实验环境】 实验的环境:VC++ 二、实验内容: 【实验方案】 编写主函数,调用初始化,建立顺序表的算法以及插入和删除算法。调试 运行输入数据得出结果并进行分析。 【实验过程】(实验步骤、记录、数据、分析) 实验步骤: (1)、在VC++环境下输入各个算法和主函数。 (2)、输完以上的东西后,再对程序进行编译。 编译完后主要出现以下几个主要错误: ①、算法和函数中出现了一些系统无法识别的变量,照成程序出现了错误。 ②、程序中出现了这样的错误: D:\软件\Microsoft Visual C++ V6.0 简体中文企业版\Cpp1.cpp(50) : error C2018: unknown character 0xa3 ③、程序中的错误: D:\软件\Microsoft Visual C++ V6.0 简体中文企业版\Cpp1.cpp(8) : error C2144: syntax error : missing ; before type int ④、在程序中还出现了大量的输入的错误。比如大小写的问题,前后的 函数名不一致的问题等等。 编译完成以后,接下来是找到错误进行调试。调试过程中找出错误的原因,然后进行分析。 发生错误的主要原因如下: ①、在输入程序的过程中由于粗心造成了大量的输入错误。 ②、没有注意算法与源程序的区别。算法是简单的对源程序进行描述的,是给人阅读的,所以有些变量没有定义我们就能看懂。而程序中的变量一定要先定义才能够被引用,才能被计算机识别。 ③、强制类型转换也是C语言中的一个语句,所以语句完成以后后面要加分号来表示语句结束。所以才会出现第三的错误。 ④、在C程序的输入过程中。一律要在英文字母的条件下进行输入,否则就会出现第二种错误,使系统无法识别。 (3)、调试完成以后,程序中没有了错误。然后执行。在命令窗口中输入数据进行验证。出现了如下图所示的错误: 在进行删除的算法的过程中,最后那个数字“5”出现了两次,与实验要求的结果不一致。后来经老师的指点,找出了原因的所在。 原因:在执行删除算法以后,变长要减1.经改正以后得出了正确的结论。最后成功完成了实验,得出了正确的结果。 【实验结论(结果)小结结论#includestdio.h #includestdlib.h #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int ElemType; #define LIST_INIT_SIZE 5 // 初始分配存储量 #define LISTINCREMENT 2 //分配增量 typedef struct{

文档评论(0)

1亿VIP精品文档

相关文档