c语言线性表实验报告,实验报告.线性表的顺序表示和实现.doc

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

数学与计算科学学院

实 验 报 告

实验项目名称 :线性表的顺序表示和实现

所属课程名称 : 数据结构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.经改正以后得出了正确的结论。最后成功完成了实验,得出了正确的结果。

【实验结论(结果)小结结论#include

#include

#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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值