数据结构试验线性表的操作

数据结构试验线性表的操作

ID:38700156

大小:73.00 KB

页数:16页

时间:2019-06-17

数据结构试验线性表的操作_第1页
数据结构试验线性表的操作_第2页
数据结构试验线性表的操作_第3页
数据结构试验线性表的操作_第4页
数据结构试验线性表的操作_第5页
资源描述:

《数据结构试验线性表的操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、01顺序线性表的基本操作#include#include#defineOK1#defineERROR0#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineElemTypeinttypedefstruct{int*elem;intlength;intlistsize;}SqList;intInitList_Sq(SqList&L){//算法2.3,构造一个空的线性表L,该线性表预定义大小为LIST_INIT_SIZ

2、EL.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}intLoad_Sq(SqList&L){//输出顺序表中的所有元素inti;if(L.length==0)printf("TheListisempty!");//请填空else{printf("TheListis:");for(i=0;i

3、elem[i]);//请填空}printf("");returnOK;}intListInsert_Sq(SqList&L,inti,inte){//算法2.4,在顺序线性表L中第i个位置之前插入新的元素eif(i<1

4、

5、i>L.length+1)returnERROR;ElemType*newbase,*q,*p;if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(

6、ElemType));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.length;returnOK;}intListDelete_Sq(SqList&L,inti,int&e){//算法2.5,在顺序线性表L中删除第i个位置的元素,并用e返回其值ElemType*p,*q;if(i<1

7、

8、i>L.length)return

9、ERROR;p=&(L.elem[i-1]);e=*p;q=L.elem+L.length-1;for(++p;p<=q;++p)*(p-1)=*p;--L.length;returnOK;}intmain(){SqListT;inta,i;ElemTypee,x;if(InitList_Sq(T))//判断顺序表是否创建成功{printf("ASequenceListHasCreated.");}while(1){printf("1:Insertelement2:Deleteelement

10、3:Loadallelements0:ExitPleasechoose:");scanf("%d",&a);switch(a){case1:scanf("%d%d",&i,&x);if(!ListInsert_Sq(T,i,x))printf("InsertError!");//判断i值是否合法,请填空elseprintf("TheElement%disSuccessfullyInserted!",x);break;case2:scanf("%d",&i);if(!ListDelet

11、e_Sq(T,i,e))printf("DeleteError!");//判断i值是否合法,请填空elseprintf("TheElement%disSuccessfullyDeleted!",e);break;case3:Load_Sq(T);break;case0:return1;}}}02合并顺序表#include"stdio.h"#include"malloc.h"#defineOK1#defineERROR0#defineLIST_INIT_SIZE100#defineLISTINCR

12、EMENT10#defineElemTypeinttypedefstruct{int*elem;intlength;intlistsize;}SqList;intInitList_Sq(SqList&L){//算法2.3,构造一个空的线性表L,该线性表预定义大小为LIST_INIT_SIZEL.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));L.length=0;L.lists

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

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

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