2008级数据结构验证性实验指导书

2008级数据结构验证性实验指导书

ID:37886053

大小:191.00 KB

页数:31页

时间:2019-06-02

2008级数据结构验证性实验指导书_第1页
2008级数据结构验证性实验指导书_第2页
2008级数据结构验证性实验指导书_第3页
2008级数据结构验证性实验指导书_第4页
2008级数据结构验证性实验指导书_第5页
资源描述:

《2008级数据结构验证性实验指导书》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构实验指导书实验一线性表的顺序存储实验一、实验目的1、掌握用VisualC++6.0上机调试顺序表的基本方法2、掌握顺序表的基本操作,插入、删除、查找、以及有序顺序表的合并等算法的实现二、实验内容1、顺序表基本操作的实现[问题描述]当我们要在顺序表的第i个位置上插入一个元素时,必须先将顺序表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。[基本要求]要求生成顺序表时,可以键盘上读取元素,用

2、顺序存储结构实现存储。[实现提示]要实现基本操作,可用实现的基本操作,也可设计简单的算法实现。[程序实现]#include#include#includetypedefintDataType;#definemaxnum20typedefstruct{intdata[maxnum];intlength;}Seqlist;intinsert(Seqlist*L,inti,DataTypex){intj;if(i<0

3、

4、i>(*L).length+1)

5、{printf("i值不合法!");return0;}if((*L).length>maxnum-1){printf("表满不能插入!");return0;}for(j=(*L).length;j>=i;j--)(*L).data[j+1]=(*L).data[j];(*L).data[i]=x;(*L).length++;return1;}intdeleteList(Seqlist*L,inti){intj;if(i<0

6、

7、i>(*L).length){printf("删除位置错误!")

8、;return0;}for(j=i+1;j<=(*L).length;j++)(*L).data[j-1]=(*L).data[j];(*L).length--;return1;}voidcreatlist(Seqlist*L){intn,i;printf("请输入顺序表L的数据个数:");scanf("%d",&n);for(i=0;i

9、th=n-1;printf("");}voidprintout(Seqlist*L){inti;for(i=0;i<=(*L).length;i++){printf("data[%d]=",i);printf("%d",(*L).data[i]);}printf("");}voidmain(){Seqlist*L;charcmd;inti,x;L=(Seqlist*)malloc(sizeof(Seqlist));creatlist(L);do{printf("i,I-----插入")

10、;printf("d,D-----删除");printf("q,Q-----退出");do{cmd=getchar();}while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q'));switch(cmd){case'i':case'I':printf("PleaseinputtheDATA:");scanf("%d",&x);printf("Where?");scanf("%d",&i);i

11、nsert(L,i,x);printout(L);break;case'd':case'D':printf("WheretoDelete?");scanf("%d",&i);deleteList(L,i);printout(L);break;}}while((cmd!='q')&&(cmd!='Q'));}-31-数据结构实验指导书2、有序顺序表的合并[问题描述]已知顺序表la和lb中的数据元素按非递减有序排列,将la和lb表中的数据元素,合并成为一个新的顺序表lc[基本要求]lc中的数据元素仍按

12、非递减有序排列,并且不破坏la和lb表[程序实现]#include#definemaxnum20typedefintDataType;typedefstruct{DataTypedata[maxnum];intlength;}Seqlist;intMergeQL(Seqlistla,Seqlistlb,Seqlist*lc){inti,j,k;if(la.length+1+lb.length+1>maxnum){printf("ar

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

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

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