已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公益事业参与与支持的承诺函(6篇)
- 科学实验研究可靠数据承诺书范文3篇
- 基于抵押风险视角的写字楼抵押价值评估方法与实践探索
- 基于扩展词典与语义规则的中文微博情感分析:方法、应用与展望
- 基于成本效益分析的变速车道长度优化研究:理论、模型与实践
- 工程施工合同法律风险分析
- 企业应急救援互助协议
- GB/T 15763.3-2025建筑用安全玻璃第3部分:夹层玻璃
- GB/T 46565-2025基于项目的温室气体减排量评估技术规范动力电池梯次利用
- 槽钢楼房地基施工方案
- 牛乳的标准化及其设备.课件
- 小学科学如何培养学生的探究能力
- 国家企业信用信息公示系统(贵州)
- 中建中天井脚手架施工方案
- 手术基本技术-打结、切开、止血、分离、缝合
- SH-T 3202-2018 二氧化碳输送管道工程设计标准 含2022年第1号修改单
- 诊断-腹部查体-课件2
- 高处作业安全培训讲义
- 黑暗料理王皇冠菜谱310种版本
- GA/T 947.2-2015单警执法视音频记录系统第2部分:执法记录仪
- 【食品生产加工技术】玉米芯制木糖醇
评论
0/150
提交评论