顺序线性表12个基本操作

顺序线性表12个基本操作

ID:11581813

大小:37.00 KB

页数:3页

时间:2018-07-12

顺序线性表12个基本操作_第1页
顺序线性表12个基本操作_第2页
顺序线性表12个基本操作_第3页
资源描述:

《顺序线性表12个基本操作》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//顺序表示的线性表(存储结构由c2-1.h定义)的基本操作(12个)StatusInitList(SqList&L)//算法2.3{//操作结果:构造一个空的顺序线性表L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(OVERFLOW);//存储分配失败L.length=0;//空表长度为0L.listsize=LIST_INIT_SIZE;//初始存储容量returnOK;}StatusDestroyList(SqList&L){//初始条件:顺序线性表L已存在。操作结

2、果:销毁顺序线性表Lfree(L.elem);L.elem=NULL;L.length=0;L.listsize=0;returnOK;}StatusClearList(SqList&L){//初始条件:顺序线性表L已存在。操作结果:将L重置为空表L.length=0;returnOK;}StatusListEmpty(SqListL){//初始条件:顺序线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSEif(L.length==0)returnTRUE;elsereturnFALSE;}intListLength(SqListL){//初始条件:

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

4、

5、i>L.length)exit(ERROR);e=*(L.elem+i-1);returnOK;}intLocateElem(SqListL,ElemTypee,Status(*compare)(ElemType,ElemType)){//初始条件:顺序线性表L已存在,compare()

6、是数据元素判定函数(满足为1,否则为0)//操作结果:返回L中第1个与e满足关系compare()的数据元素的位序。//若这样的数据元素不存在,则返回值为0。算法2.6ElemType*p;inti=1;//i的初值为第1个元素的位序p=L.elem;//p的初值为第1个元素的存储位置while(i<=L.length&&!compare(*p++,e))++i;if(i<=L.length)returni;elsereturn0;}StatusPriorElem(SqListL,ElemTypecur_e,ElemType&pre_e){//初始条件:顺序线性表L已存

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

8、t_e返回它的后继,//否则操作失败,next_e无定义inti=1;ElemType*p=L.elem;while(i

9、,*p;if(i<1

10、

11、i>L.length+1)//i值不合法returnERROR;if(L.length>=L.listsize)//当前存储空间已满,增加分配{if(!(newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType))))exit(OVERFLOW);//存储分配失败L.elem=newbase;//新基址L.listsize+=LISTINCREMENT;//增加存储容量}q=L.elem+i-1;//q为插入位置for(

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

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

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