文档详情

《数据结构》实验指导书(信管13用).doc

发布:2017-07-23约3.11万字共42页下载文档
文本预览下载声明
韶关学院信息科学与工程学院 数据结构实验指导书 (龙腾芳编) 实验一 顺序表实现及应用 [实验目的] 1.了解顺序表的结构特点及有关概念,掌握顺序表建立、插入、删除的基本操作算法。 [实验内容] 实验1.顺序表的实践。 在参考程序的main()函数的注解部分有实验的要求,请按要求完成实验 [实验要点及说明] 线性表(linear list)是n(n≥0)个数据元素a1,a2,…an组成的有限序列。 其中n 称为数据元素的个数或线性表的长度,当n=0时称为空表,n0时称为非空表。 通常将非空的线性表记为(a1,a2,…,an),其中的数据元素ai(1≤i≤n)是一个抽象的符号, ai是第i个数据元素,称i为数据元素ai在线性表中的位置。其具体含义在不同情况下是不同的,即它的数据类型可以根据具体情况而定,本书中,我们将它的类型设定为elemtype,表示某一种具体的已知数据类型。 顺序表也称为线性表的顺序存储结构。其存储方式为:在内存中用一组地址连续的存储单元依次存储线性表的数据元素,但该连续存储空间的大小要大于或等于顺序表的长度。一般让线性表中第一个元素存放在连续存储空间第一个位置,第二个元素紧跟着第一个之后,其余依此类推。 可定义顺序表如下: typedef struct { ElemType *elem; //指向数据元素的基地址 int length; //线性表的当前长度 }SqList; [参考程序] // /****************** 实验一、 顺序表的操作 ************************/ // 以下程序已有基本的函数,可以运行,先仔细阅读以下代码段及注解, //然后请按要求补充完整,完成其余要求的操作。 // 2013信管(1)(2)用 // 教材:邮电出版的严蔚敏《数据结构》(C语言版) #include iostream.h #include stdlib.h #define MAXSIZE 100 //最大长度 #define OK 1 #define ERROR 0 #define OVERFLOW -2 /*****************************************************************/ typedef int Status; typedef int ElemType ; /************************表的结构*********************************/ typedef struct { ElemType *elem; //指向数据元素的基地址 int length; //线性表的当前长度 }SqList; Status InitList_Sq1(SqList L){ //构造一个空的顺序表L L.elem=new ElemType[MAXSIZE]; //为顺序表分配空间 if(!L.elem) exit(OVERFLOW); //存储分配失败 L.length=0; //空表长度为0 return OK; } Status InitList_Sq2(SqList *L){ //构造一个空的顺序表L L- elem=new ElemType[MAXSIZE]; //为顺序表分配空间 if(! L- elem) exit(OVERFLOW); //存储分配失败 L- length=0; //空表长度为0 return OK; } /******************************撤销表***************************/ void DestroyList(SqList L) { if (L.elem) delete[]L.elem; //释放存储空间 } /********************************清空表***********************/ void ClearList(SqList L) { L.length=0; //将线性表的长度置为0 } /************************
显示全部
相似文档