欢迎来到天天文库
浏览记录
ID:57090605
大小:229.50 KB
页数:94页
时间:2020-08-02
《华农数据结构上机实验答案教学提纲.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、华农数据结构上机实验答案精品文档数据结构上机答案1.1顺序线性表的基本操作#include#include#defineOK1#defineERROR0#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineElemTypeinttypedefstruct{int*elem,length,listsize;}SqList;intInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST
2、_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;i3、st&L,inti,inte){if(i<14、5、i>L.length+1)returnERROR;ElemType*newbase,*q,*p;收集于网络,如有侵权请联系管理员删除精品文档if(L.length>=L.listsize){newbase=(ElemType*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType));L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for6、(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}intListDelete_Sq(SqList&L,inti,int&e){ElemType*q,*p;if(i<17、8、i>L.length)returnERROR;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(){SqListT9、;inta,i;ElemTypee,x;if(InitList_Sq(T)){printf("ASequenceListHasCreated.");}while(1){printf("1:Insertelement2:Deleteelement3:Loadallelements0:ExitPleasechoose:");scanf("%d",&a);收集于网络,如有侵权请联系管理员删除精品文档switch(a){case1:scanf("%d%d",&i,&x);if(!ListInsert10、_Sq(T,i,x))printf("InsertError!");elseprintf("TheElement%disSuccessfullyInserted!",x);break;case2:scanf("%d",&i);if(!ListDelete_Sq(T,i,e))printf("DeleteError!");elseprintf("TheElement%disSuccessfullyDeleted!",e);break;case3:Load_Sq(T);break;case0:retur11、n1;}}}1.2合并顺序表#include#include#defineOK1#defineERROR0#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineElemTypeinttypedefstruct{int*elem,length,listsize;}SqList;intInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemT12、ype));L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}intLoad_Sq(SqList&L){收集于网络,如有侵权请联系管理员删除精品文档inti;for(i=0;i
3、st&L,inti,inte){if(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(ElemType));L.elem=newbase;L.listsize+=LISTINCREMENT;}q=&(L.elem[i-1]);for
6、(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;*q=e;++L.length;returnOK;}intListDelete_Sq(SqList&L,inti,int&e){ElemType*q,*p;if(i<1
7、
8、i>L.length)returnERROR;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
9、;inta,i;ElemTypee,x;if(InitList_Sq(T)){printf("ASequenceListHasCreated.");}while(1){printf("1:Insertelement2:Deleteelement3:Loadallelements0:ExitPleasechoose:");scanf("%d",&a);收集于网络,如有侵权请联系管理员删除精品文档switch(a){case1:scanf("%d%d",&i,&x);if(!ListInsert
10、_Sq(T,i,x))printf("InsertError!");elseprintf("TheElement%disSuccessfullyInserted!",x);break;case2:scanf("%d",&i);if(!ListDelete_Sq(T,i,e))printf("DeleteError!");elseprintf("TheElement%disSuccessfullyDeleted!",e);break;case3:Load_Sq(T);break;case0:retur
11、n1;}}}1.2合并顺序表#include#include#defineOK1#defineERROR0#defineLIST_INIT_SIZE100#defineLISTINCREMENT10#defineElemTypeinttypedefstruct{int*elem,length,listsize;}SqList;intInitList_Sq(SqList&L){L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemT
12、ype));L.length=0;L.listsize=LIST_INIT_SIZE;returnOK;}intLoad_Sq(SqList&L){收集于网络,如有侵权请联系管理员删除精品文档inti;for(i=0;i
此文档下载收益归作者所有