欢迎来到天天文库
浏览记录
ID:56142461
大小:744.53 KB
页数:17页
时间:2020-03-17
《数据结构线性表的顺序表示和实现的实习报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数学与计算科学学院实验报告实验项目名称线性表的顺序表示与实现所属课程名称数据结构实验类型验证型实验日期班级学号姓名成绩16一、实验概述:【实验目的】1线性表的逻辑结构特征1.1以元素在计算机内“物理位置相邻”来表示线性表中数据元素之间的逻辑关系。1.2有且仅有一个开始结点,没有直接前驱,且仅有一个直接后继;有且仅有一个终结结点,没有直接后继,且仅有一个直接前驱。1.3其余内部结点都有且仅有一个直接前驱和一个直接后继。2掌握线性表的基本操作在顺序存储结构上的实现。【实验原理】1顺序表的特点1.1逻辑位置上相邻和物理位置上相邻1.2是一种随机存储结构,其存储位置可以用一
2、简单直观的公式表示2顺序表的类C语言表示:#defineLIST_INIT_SIZE9//线性表存储空间的初始分配量#defineLISTINCREMENT2//线性表存储空间的分配增量typedefstruct{ElemType*elem;//存储空间基址intlength;//当前长度intlistsize;//当前分配的存储容量(以sizeof(ElemType)为单位)}SqList;【实验环境】VC++6.016二、【实验内容】【实验方案】编写主函数,调用顺序表的初始化建空表,插入和删除算法,调试运行得出结果【实验过程】(实验步骤、记录、数据、分析)8.先
3、将线性表的动态分配顺序存储结构,算法与主函数编入VC++6.0中typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;StatusInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}StatusListInsert_Sq(SqList&L,inti,Ele
4、mTypee){if(i<1
5、
6、i>L.length+1)returnERROR;if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));if(!newbase)exit(OVERFLOW);L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)16{*(p+1)=*p;*q=e;
7、++L.length;returnOK;}StatusListDelect_Sq(SqList&L,inti,ElemType&e){if((i<1)
8、
9、(i>L.length))returnERROR;p=&(L.elem[i-1]);e=*p;q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;returnOK;}voidmain(){SqListL;inti;InitList_Sq(L);for(i=0;i10、length++;}for(i=0;i11、的错误:原因:由于许多变量未定义,以及没有头文件与宏定义所以错误许多,还有更多错误没有显示出来3.将以下语句编入程序中:#include"stdio.h"#include"stdlib.h"#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineLIST_INIT_SIZE9#defineLISTINCREMENT2typedefintElemType;typedefintStatus;4.调试第二次出现以下错误:16原因:是在每个算法中
10、length++;}for(i=0;i11、的错误:原因:由于许多变量未定义,以及没有头文件与宏定义所以错误许多,还有更多错误没有显示出来3.将以下语句编入程序中:#include"stdio.h"#include"stdlib.h"#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineLIST_INIT_SIZE9#defineLISTINCREMENT2typedefintElemType;typedefintStatus;4.调试第二次出现以下错误:16原因:是在每个算法中
11、的错误:原因:由于许多变量未定义,以及没有头文件与宏定义所以错误许多,还有更多错误没有显示出来3.将以下语句编入程序中:#include"stdio.h"#include"stdlib.h"#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineLIST_INIT_SIZE9#defineLISTINCREMENT2typedefintElemType;typedefintStatus;4.调试第二次出现以下错误:16原因:是在每个算法中
此文档下载收益归作者所有