




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告实验名称: 实验一:顺序表设计与应用(实验报告)一 实验目的:1. 熟悉顺序表的概念,加深对顺序表的理解;2. 掌握对顺序表的设计与运用,包括顺序表的初始化,遍历,删除,查找,插入等基本操作。二 实验内容:1.在顺序表制定位置增加数据元素;2.删除顺序表指定位置的数据元素;3.修改顺序表指定位置的数据元素值;(选作)4.查找顺序表中是否存在某一数据元素;(选作)三 实验方法:1. 将顺序表的基本操作如初始化,插入,删除,查找,删除重复元素等基本操作以函数调用的方式来做成函数,然后封装在formate1.h文件中;2. 在主函数中调用formate1.h文件,就可以实现对顺序表的基本操作。四 实验源程序:1.formate1.h/*顺序表基本操作*/*初始化顺序表*/int InitList(SqList *L) L-length=0; return 1;/*求顺序表长*/int ListLength(SqList L) return L.length;/*判断顺序表是否为空*/第 6 页附 页 int ListEmpty(SqList L) if(L.lengthlength=LISTSIZE) printf(顺序表已满,无法进行插入操作!); return 0; if(posL-length+1) printf(插入位置不合法,其取值范围应该是1,length+1); return 0; for(i=L-length-1; i=pos-1; i-) L-itemsi+1=L-itemsi; L-itemspos-1=item; L-length+; return 1;/*删除指定位置上的数据元素*/int ListDelete(SqList *L,int pos,DataType *item) int i; if(ListEmpty(*L) printf(顺序表为空表,无法进行删除操作!); return 0; if(posL-length) printf(删除位置不合法,其取值范围应该是1,length); return 0; *item=L-itemspos-1; for(i=pos;ilength;i+) L-itemsi-1=L-itemsi; L-length-; return 1; /*查找指定元素在顺序表中的位置*/int Find(SqList L,DataType item) int pos=0; if(ListEmpty(L) printf(顺序表为空表,无法进行查找操作!); return 0; while(posL.length & L.itemspos!=item) pos+; if(posL.length) return pos+1; else return 0;/*获取顺序表中指定位置上的数据元素*/int GetElem(SqList L,int pos,DataType *item) if(ListEmpty(L) return 0; if(posL.length) printf(位置信息输入不合法,请重新输入); return 0; *item=L.itemspos-1; return 1;/*遍历顺序表*/int TraverseList(SqList L) int i; for(i=0;iL.length;i+) printf(%dt,L.itemsi); printf(n); return 1;/*修改指定位置上的数据元素*/int ListChange(SqList *L,int pos,DataType item) int i; if(ListEmpty(*L) printf(顺序表为空表,无法进行删除操作!); return 0; if(posL-length) printf(删除位置不合法,其取值范围应该是1,length); return 0; for(i=1;ilength;i+) if(i=pos) L-itemsi=item; L-itemsi-1=L-itemsi; return 1; /*删除表中重复的元素*/void Repetition(Sqlist *L)int i,j;DataType item;for(i=0;ilength;i+)j=i+1;while(jlength)if(L-itemj=L-itemi)ListDelete(L,j+1,&item);else j+;3. 主函数:#include#include#define LISTSIZE 100typedef int DataType;/*顺序表C语言描述*/typedef struct DataType itemsLISTSIZE; int length;SqList;/*主函数*/int main(void) int i; int data=1,2,3,5,7,13,15,22,33,44; DataType item; SqList Test; printf(n建立顺序表n); InitList(&Test); for(i=0;i10;i+) if(!ListInsert(&Test,i+1,datai) printf(n结果未找到n); return 0; printf(n顺序表中的元素n); TraverseList(Test); ListInsert(&Test,3,0); printf(n插入后的顺序表中的元素n); TraverseList(Test); if(!ListDelete(&Test,6,&item) printf(n未成功删除n); return 0; printf(n删除后的顺序表中的元素n); TraverseList(Test); printf(n查找顺序表中的元素n); printf(n结果显示n); Find(Test,15); return 1;五 实验结果:结果分析:由实验结果可知,成功的完成了对顺序表的一些基本操作,包括在顺序表的第三个位置插入0,删除顺序表的第6个元素,并且成功的输出了删除后的元素,只是查找元素不成功。六 心得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京中国音乐学院高层次人才引进2人考前自测高频考点模拟试题附答案详解
- 在线课程效果分析-洞察与解读
- 2025年甘肃省兰州大学哲学社会学院聘用制(B岗)人员招聘考前自测高频考点模拟试题及答案详解1套
- 2025江苏南通市崇川区卫生系统面向毕业生招聘备案制高层次卫生人才15人模拟试卷及答案详解(典优)
- 2025年上海市闵行区莘庄实验小学代课教师招聘模拟试卷附答案详解(完整版)
- 2025贵州修文县城镇公益性岗位招聘(4月)模拟试卷有答案详解
- 2025南平延平峡阳镇卫生院招聘驾驶员考前自测高频考点模拟试题带答案详解
- 2025年长春理工大学公开招聘博士人才(71人)模拟试卷及答案详解(考点梳理)
- 2025河北衡水市冀州区招聘第二批社区工作者模拟试卷及答案详解参考
- 2025贵州省卫生健康委员会“银龄计划”(引进退休高级医疗卫生人才)724人模拟试卷及答案详解(必刷)
- 保险业务员述职报告
- 20G520-1-2钢吊车梁(6m-9m)2020年合订本
- 中心静脉深静脉导管维护操作评分标准
- 导尿术操作护理课件
- 推进班组信息化建设:利用信息技术提高工作效率
- 2023年上海市虹口区初三一模语文试卷(含答案)
- 优势视角课件完整版
- 花城版音乐课时15-第12课 走近戏曲(一)观赏京剧学习念白-京剧丑角的念白《报灯名》-课件
- 《食品安全法》与粮食质量安全专题培训课件
- 2023年安康市交通建设投资集团有限公司招聘笔试题库及答案解析
- 文理分科心理测试问卷
评论
0/150
提交评论