大数据结构实验资料报告材料--1.doc

大数据结构实验资料报告材料--1.doc

ID:56974410

大小:122.00 KB

页数:12页

时间:2020-07-30

大数据结构实验资料报告材料--1.doc_第1页
大数据结构实验资料报告材料--1.doc_第2页
大数据结构实验资料报告材料--1.doc_第3页
大数据结构实验资料报告材料--1.doc_第4页
大数据结构实验资料报告材料--1.doc_第5页
资源描述:

《大数据结构实验资料报告材料--1.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、理工大学数据结构与算法实验报告实验题目:线性表顺序存储试验实验时间:实验地点:班级:学号:姓名:一、实验目的及要求1、掌握用VisualC++6.0上机调试顺序表的基本方法2、掌握顺序表的基本操作,插入、删除、查找等算法的实现[基本要求]要求生成顺序表时,可以键盘上读取元素,用顺序存储结构实现存储。二、实验意义及原理当我们要在顺序表的第i个位置上插入一个元素时,必须先将顺序表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。三、算法分析

2、(1)以下为函数运行结果状态代码#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2(2)线性表的动态分配顺序存储结构#defineLIST_INIT_SIZE100 //线性表存储空间的初始分配量#defineLISTINCREMENT10//线性表存储空间分配增量typedefintStatus;//函数类型,其值为为函数结果状态代码typedefintElemType;//假设数据元素为整型typedefstruct{ 

3、  ElemType*elem;//存储空间基址   intlength;//当前长度   intlistsize;//当前分配的存储容量}Sqlist;(2)构造函数//函数名:InitList()//参数:SqListL//初始条件:无//功能:构造一个空线性表StatusInitList(SqlistL){   L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));   if(L.elem==NULL)       exit(OVERFLOW);   else   {   

4、    L.length=0;       L.listsize=LISTINCREMENT;       returnOK;   }}(3)插入函数//函数名:ListInsert()//参数:SqListL,inti,ElemTypee//初始条件:线性表L已存在,1<=i<=ListLength(L)+1//功能:在线性表中第i个数据元素之前插入数据元素eStatusListInsert(SqlistL,inti,ElemTypee){   int*q=&(L.elem[i-1]);   ElemType*newbase,*p;   

5、if(i<1

6、

7、i>(L.length+1))       returnERROR;   if(L.length>=L.listsize)   {       newbase=(ElemType*)realloc(L.elem,L.listsize+LISTINCREMENT*sizeof(ElemType));       if(newbase==NULL)           exit(OVERFLOW);       L.elem=newbase;       L.listsize+=LISTINCREMENT;   }   for(

8、p=&(L.elem[L.length-1]);p>=q;--p)       *(p+1)=*p;   *q=e;   ++L.length;   returnOK;}(4)删除函数//函数名:ListDelete()//参数:SqListL,inti,Elemtypee//初始条件:线性表L已存在,1<=i<=ListLength(L)//功能:将线性表L中第i个数据元素删除StatusListDelet(SqlistL,inti,ElemTypee){   if(i<1

9、

10、(i>L.length))       returnERROR

11、;   ElemType*p,*q;   p=&(L.elem[i-1]);   e=*p;   q=L.elem+L.length-1;   for(++p;p<=q;++p)       *(p-1)=*p;   --L.length;   returnOK;}一、源代码#includeusingnamespacestd;#defineMAXSIZE20typedefintElemType;typedefstruct{ElemTypedata[MAXSIZE];intlength;intlistsize;}SqLis

12、t;//构造空线性表ListboolInitList(SqList&L){for(inti=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。