归并La和Lb得到新的线性表Lc (2).doc

归并La和Lb得到新的线性表Lc (2).doc

ID:51108677

大小:42.00 KB

页数:11页

时间:2020-03-18

归并La和Lb得到新的线性表Lc (2).doc_第1页
归并La和Lb得到新的线性表Lc (2).doc_第2页
归并La和Lb得到新的线性表Lc (2).doc_第3页
归并La和Lb得到新的线性表Lc (2).doc_第4页
归并La和Lb得到新的线性表Lc (2).doc_第5页
资源描述:

《归并La和Lb得到新的线性表Lc (2).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、.l#include#include#defineLIST_INIT_SIZE100//初始化大小#defineLISTINCREMENT15#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1//不可实行的#defineOVERFLOW-2//溢出#include//exit()typedefintElemType;//基本(元素)类型typedefstruct{ElemType*elem;intlength;intlistsize

2、;}SqList;intInitList(SqList*L)//操作结果:构造一个空的顺序线性表{(*L).elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!(*L).elem)//存储分配失败word范文.exit(OVERFLOW);(*L).length=0;//空表长度为0(*L).listsize=LIST_INIT_SIZE;//初始存储容量returnOK;}intDestroyList(SqList*L)//初始条件:顺序线性表L已存在。操作结果:销毁顺序线性表L{free((*L).el

3、em);(*L).elem=NULL;(*L).length=0;(*L).listsize=0;returnOK;}intClearList(SqList*L)//初始条件:顺序线性表L已存在。操作结果:将L重置为空表{(*L).length=0;returnOK;}intListEmpty(SqListL)//初始条件:顺序线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSE{if(L.length==0)word范文.returnTRUE;elsereturnFALSE;}intListLength(SqListL)//初始条件:顺序线性表L已存在

4、。操作结果:返回L中数据元素个数{returnL.length;}intGetElem(SqListL,inti,ElemType*e)//初始条件:顺序线性表L已存在,1≤i≤ListLength(L)。操作结果:用e返回L中第i个数据元素的值{if(i<1

5、

6、i>L.length)exit(ERROR);*e=*(L.elem+i-1);returnOK;}intLocateElem(SqListL,ElemTypee)//初始条件:顺序线性表L已存在。操作结果:返回L中第1个与e相等的数据元素的位序。若这样的数据元素不存在,则返回值为0。{ElemType*p;int

7、i=1;//i的初值为第1个元素的位序word范文.p=L.elem;//p的初值为第1个元素的存储位置while(i<=L.length&&(*p++!=e))++i;if(i<=L.length)returni;elsereturn0;}intPriorElem(SqListL,ElemTypecur_e,ElemType*pre_e)//初始条件:顺序线性表L已存在。操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,否则操作失败,pre_e无定义。{inti=2;ElemType*p=L.elem+1;while(i<=L.length&

8、&*p!=cur_e){p++;i++;}if(i>L.length)returnINFEASIBLE;else{*pre_e=*--p;returnOK;}word范文.}intNextElem(SqListL,ElemTypecur_e,ElemType*next_e)//初始条件:顺序线性表L已存在。操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,否则操作失败,next_e无定义{inti=1;ElemType*p=L.elem;while(i

9、)returnINFEASIBLE;else{*next_e=*++p;returnOK;}}intListInsert(SqList*L,inti,ElemTypee)//初始条件:顺序线性表L已存在,1≤i≤ListLength(L)+1。操作结果:在L中第i个位置之前插入新的数据元素e,L的长度加1{ElemType*newbase,*q,*p;if(i<1

10、

11、i>(*L).length+1)//i值不合法word范文.returnERROR;if((*L).length>=(*L).listsize)//当

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

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

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