顺序表的应用.doc

顺序表的应用.doc

ID:48831459

大小:80.83 KB

页数:10页

时间:2020-01-31

顺序表的应用.doc_第1页
顺序表的应用.doc_第2页
顺序表的应用.doc_第3页
顺序表的应用.doc_第4页
顺序表的应用.doc_第5页
资源描述:

《顺序表的应用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.实验一顺序表的应用一、实验目的1.掌握线性表的顺序存储结构的存储特点与操作特点。2.掌握顺序表的存储表示与基本操作的实现方法。3.熟悉顺序表的基本应用。4.了解抽象数据类型的定义、表示与实现的含义。二、实验内容按如下要求编写程序,进行调试,写出调试正确的源代码,给出测试结果。实现线性表在顺序存储结构下的存储表示和基本操作,并应用抽象数据类型线性表完成如下操作:1.分别创建两个空的线性表L1、L2;2.分别将若干元素插入到L1、L2中,输出操作后表L1和L2的内容;3.实现两表的合并操作:L1=L1∪L2,输出合

2、并后表L1的内容。4.实现两表的求差操作:L1=L1-L2,输出求差后表L1的内容。三、实验结果源代码:#include#include#defineOK1#defineTRUE1..#defineFALSE0#defineERROR0#defineOVERFLOW-2#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefintStatus;typedefintElemType;typedefstruct//存储表示{

3、ElemType*elem;intlength;intlistsize;}SqList;//基本操作的函数声明StatusInitList_Sq(SqList&L);StatusListInsert_Sq(SqList&L,inti,ElemTypee);Statusequal(ElemTypea,ElemTypeb);StatusGetElem_Sq(SqListL,inti,ElemType&e);intListLength_Sq(SqListL);voidUnoin(SqList&La,SqListLb);

4、voidcha(SqList&La,SqList&Lb);intLocateElem_Sq(SqListL,ElemTypee,Status(*compare)(ElemType,ElemType));..//基本操作的算法实现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_S

5、IZE;returnOK;}StatusListInsert_Sq(SqList&L,inti,ElemTypee){ElemType*newbase,*p,*q;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)exit(OVERFLOW);L.elem=newbas

8、e;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);..for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}StatusListDelete_Sq(SqList&L,inti,ElemType&e){ElemType*p,*q;if((i<1)

9、

10、(i>L.length))returnERROR;p=&(L.elem[i-1]);e=*p;q=L.elem+L.length-1;f

11、or(++p;p<=q;++p)*(p-1)=*p;--L.length;returnOK;}voidcha(SqList&La,SqList&Lb){intla_len,lb_len,i,e;la_len=ListLength_Sq(La);..lb_len=ListLength_Sq(Lb);for(i=1;i<=lb_len;i++){GetElem_Sq(Lb,i,e);if(LocateElem_Sq(La,e,equal))ListDelete_Sq(La,LocateElem_Sq(La,e,equ

12、al),e);}}Statusequal(ElemTypea,ElemTypeb){if(a==b)returnTRUE;elsereturnFALSE;}StatusGetElem_Sq(SqListL,inti,ElemType&e){if(i<1

13、

14、i>L.length)returnERROR;e=*(L.elem+i-1);returnOK;}intListLen

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

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

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