资源描述:
《线性表顺序存储结构地11个基本操作函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、标准文案/*1.设计线性表顺序存储结构的11个基本操作函数,并编程实现之*/#include#include#include#defineLIST_INIT_SIZE100#defineLISTINCREMENT10typedefcharElemType;typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;大全标准文案boolcompare(ElemTypep,ElemTypee){if(p==e)returntrue;elseretu
2、rnfalse;}voidInitList(SqList&L)//构造一个空的线性表L{L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));if(!L.elem)exit(0);L.length=0;L.listsize=LIST_INIT_SIZE;}voidDestroyList(SqList&L)//销毁线性表L{大全标准文案free(L.elem);L.elem=NULL;if(L.elem)exit(0);L.length=0;}voidClearList(SqList&L)//将L
3、重置为空表{L.elem=' ';L.length=0;}boolListEmpty(SqList&L)//若L为空表,返回TRUE,否则FALSE{if(L.length==0)returntrue;elsereturnfalse;}intListLength(SqListL)//返回L中元素个数{大全标准文案returnL.length;}boolGetElem(SqListL,inti,ElemType&e)//用e返回数据中第i个元素的值{if(!L.length)returnfalse;elseif(i>L.length
4、
5、i<1)return
6、false;else{e=L.elem[i-1];returntrue;}}intLocateElem(SqListL,ElemTypee){inti=1;大全标准文案boolcmp=0;if(L.length==0)return0;else{while(i<=L.length&&!cmp){cmp=compare(L.elem[i-1],e);i++;}if(cmp)returni-1;elsereturn0;}}intPriorElem(SqListL,ElemTypecur_e,ElemType&pre_e)//若cur_e是L的数据元素,且不是第一
7、个,用pre_e返回它的前驱。否则操作失败{inti=LocateElem(L,cur_e);大全标准文案if(i==0)printf("不存在您定位的元素!");elseif(i==1)printf("您指定的是首元素,无前驱!");elsepre_e=L.elem[i-2];returni;}intNextElem(SqListL,ElemTypecur_e,ElemType&next_e){inti=LocateElem(L,cur_e);if(i==0)printf("不存在您定位的元素!");elseif(i==L.length)pr
8、intf("您指定的是末元素,无后继!");next_e=L.elem[i];returni;}boolListInsert(SqList&L,inti,ElemTypee)//在L的第i个位置之前插入新的数据e,L的长度增加1大全标准文案{ElemType*newbase,*p,*q;if(i<1
9、
10、i>L.length+1)returnfalse;else{if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(Elem
11、Type));if(!newbase)exit(0);L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;L.elem[L.length+1]=' ';大全标准文案++L.length;returntrue;}}boolListDelete(SqList&L,inti,ElemType&e)//删除第i个元素,并用e返回,长度减1{ElemType*p,*q;if(i<1
12、
13、i>L.le
14、ngth)returnfalse;else{p=&(L.elem[