《数据结构》实验讲义

《数据结构》实验讲义

ID:6342636

大小:51.00 KB

页数:5页

时间:2018-01-10

《数据结构》实验讲义_第1页
《数据结构》实验讲义_第2页
《数据结构》实验讲义_第3页
《数据结构》实验讲义_第4页
《数据结构》实验讲义_第5页
资源描述:

《《数据结构》实验讲义》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验一顺序表的基本操作实验目的:1、熟悉将算法转换成程序代码的过程。2、了解顺序表的逻辑结构特性,熟练掌握顺序表存储结构的C语言描述方法。3、熟练掌握顺序表的基本操作:查找、插入、删除、合并等,掌握顺序表的随机存取特性。实验内容:1、分别建立包含10个数据元素的顺序线性表;2、从键盘输入一个数据元素,插入到线性表中第k(包含1号位置)个位置;3、从键盘输入一个数据元素关键字或位置k(包含1号位置),从线性表中删除相应数据元素;4、能完成查找功能;5、打印顺序表元素;5、给出程序及插入、删除前和插入、删除后线性表

2、结果。实验步骤:#include#include#defineMAXSIZE100typedefstructnode{intdata[MAXSIZE];intlength;}SeqList;typedefSeqList*PSeqList;PSeqListInit_SeqList(void){/*创建一顺序表,入口参数无,返回一个指向顺序表的指针,指针值为零表示分配空间失败*/PSeqListSeqListPoint;inti;SeqListPoint=(PSeqList)m

3、alloc(sizeof(SeqList));if(SeqListPoint)/*若SeqListPoint=0表示分配失败*/{SeqListPoint->length=0;;printf("置线性表空成功!");printf("");}elseprintf("置线性表空失败");return(SeqListPoint);}voidInit_Data(PSeqListSeqListPoint,intn)/*对生成的顺序表初始化数据。参数SeqListPoint为生成的顺序表,n为初始数据的个数*/{i

4、nti;if(SeqListPoint)/*若SeqListPoint=0表示分配失败*/{printf("请输入初始线性表的长度:");scanf("%d",&n);printf("");printf("请输入初始化数据:");for(i=0;idata[i]);SeqListPoint->length++;}printf("线性表赋初值成功!");}elseprintf("赋值线性表失败");}voiddisplay(PSeqL

5、istSeqListPoint)/*将顺序表中的数据打印出来。参数SeqListPoint为要打印的顺序表*/{intj;if(!SeqListPoint){printf("表不存在");/*表不存在,不能打印*/}elseif(SeqListPoint->length==0)printf("此表为空无法打印数据!");elseprintf("线性表如下:");if(SeqListPoint->length==1)printf("%d",SeqListPoint->data[SeqListPoint->

6、length]);else{for(j=0;jlength-1;j++)printf("%d->",SeqListPoint->data[j]);printf("%d",SeqListPoint->data[j]);printf("");}}intInsert_SeqList(PSeqListSeqListPoint,inti,intx){/*顺序表插入,入口参数:顺序表指针,插入位置,插入元素,返回标志,1表示成功,0表示插入位置不合法,-1表示溢出,-2表示表不存在*/in

7、tj;if(!SeqListPoint){printf("表不存在");return(-2);/*表不存在,不能插入*/}if(SeqListPoint->length>=MAXSIZE){printf("表溢出");return(-1);/*表空间已满,不能插入*/}if(i<1

8、

9、i>SeqListPoint->length+1)/*检查插入位置的合法性*/{printf("插入位置不合法");return(0);}for(j=SeqListPoint->length-1;j>=i-1;j--)Se

10、qListPoint->data[j+1]=SeqListPoint->data[j];/*移动元素*/SeqListPoint->data[i-1]=x;/*新元素插入*/SeqListPoint->length++;/*表长加1*/return(1);/*插入成功,返回*/}intDelete_SeqList(PSeqListSeqListPoint,inti){/*顺序表删除,入

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

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

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