版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、?数据结构?实验报告系别:班级:学号:姓名:日期:指导教师:、上机实验的问题和要求:顺序表的查找、插入与删除.设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除.具体实现要求:从键盘输入10个整数,产生顺序表,并输入结点值.从键盘输入1个整数,在顺序表中查找该结点的位置.假设找到,输出结点的位置;假设找不到,那么显示“找不到.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果.从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果.、程序设计的根本思想,原理和算法描述:包括程序的结构
2、,数据结构,输入/输出设计,符号名说明等三、源程序及注释:#include<>/*顺序表的定义:*/#defineListSize100/*表空间大小可根据实际需要而定,这里假设为100*/typedefintDataType;/*DataType可以是任何相应白数据类型如int,float或char*/typedefstructDataTypedataListSize;/*向量data用于存放表结点*/intlength;/*/SeqList;/*子函数的声明*/voidCreateList(SeqList*L,intn);/*创立顺序表函数*/intLocateList(Seq
3、ListL,DataTypex);/*查找顺序表*/voidInsertList(SeqList*L,DataTypex,inti);/*在顺序表中插入结点x*/voidDeleteList(SeqList*L,inti);/*在顺序表中删除第i个结点*/voidPrintList(SeqListL,intn);/*打印顺序表中前n个结点*/voidmain()SeqListL;intn=10,x,i;/*欲建立的顺序表长度*/=0;/*调用创立线性表函数*/printf("createfunction:n");CreateList(&L,n);/*建立顺序表*/P
4、rintList(L,n);/*打印顺序表*/*调用查找函数*/printf("searchfunctionin');printf("inputthedatayouwanttosearch:");scanf("%d",&x);i=LocateList(L,x);/*顺序表查找*/if(i=0)printf("sorry,don'tfind%d!nn",x);elseprintf("ihavefindthe%d,itlocatein%d!nn",x,i);/*调用插入函数*/prin
5、tf("Insertfunction:n");printf("输入要插入的位置:(inputtheposition:)");scanf("%d",&i);printf("输入要插入的元素:(inputthedata:)");scanf("%d",&x);InsertList(&L,x,i);/*顺序表插入*/PrintList(L,n);/*打印顺序表*/*调用删除函数*/printf("deletefunction:n");printf("
6、输入要删除的位置:(inputtheposition:)");scanf("%d",&i);DeleteList(&L,i);/*顺序表删除*/PrintList(L,n);/*打印顺序表*/*顺序表的建立:*/voidCreateList(SeqList*L,intn)inti;for(i=0;i<n;i+)printf("ninputthe%ddata:",i+1);scanf("%d",&(*L).datai);(*L).length=n;/*顺序表的查找:*/intLocateList(
7、SeqListL,DataTypex)inti=0;while(i<&&x!=i)+i;if(i<returni+1;elsereturn0;)/*顺序表的插入:*/voidInsertList(SeqList*L,DataTypex,inti)*/*将新结点x插入L所指的顺序表的第i个结点的位置上intj;if(i<0|i>(*L).length)printf("插入位置非法");exit(0);)if(*L).length>=ListSize)printf("表空间溢出,退出运行");exit(0);)f
8、or(j=(*L).length-1;j>=i-1;j-)(*L).dataj+1=(*L).dataj;/*顺序表元素从后向前依次后移*/(*L).datai-1=x;/*将x插入第i个结点位置*/(*L).length+;/*表长自增1*/)/*顺序表的删除:*/voidDeleteList(SeqList*L,inti)/*从L所指的顺序表中删除第i个结点*/intj;if(i<0|i>(*L).length)printf("删除位置非法");exit(0);)for(j=i;j<=(*L).length-1;j+)*/(*L).dataj=(*L).dataj+1;/*顺序表自第i个结点开始,依次前移(*L).length-;/*表长自减1*/)/*顺序表的打印:*/voidPrintList(SeqListL,intn)inti;printf("thesequallistdatais:");for(i=0;i<n;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 测试案例设计方法总结
- 2025企业劳动雇佣合同范本
- 2025年客运员培训考试题及答案
- 2025黑龙江大兴安岭林业集团公司招聘工作人员总及笔试历年参考题库及答案
- 2025简短的个人年终工作总结(3篇)
- 2025年个人自来水公司年度工作总结范例(二篇)
- 2025年中国铁路北京局招聘笔试参考题库附带答案详解
- 在2025年县委社会工作部公文抄袭问题专题研讨会上的总结讲话
- 2025年下半年商丘市财政局财政投资评审招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年呼和浩特市事业单位招考及易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 45022-2024轨道交通机车车辆变流设备充电机
- 装配式建筑混凝土构件深化设计50课件讲解
- 2024届高考语文专项复习-《逻辑推理》检测卷(含解析)
- 数字化解决方案设计师职业技能竞赛参考试题库(含答案)
- 租房合同范本下载(可直接打印)
- DB51-T 10002-2022 公共信息资源标识规范
- 外墙外保温(石墨聚苯板)及装修施工方案
- 成品粮油验收方案
- 佳能-6D-相机说明书
- 2024-2025学年人教版物理九年级上学期期中测试物理模拟试卷
- 人力资源岗位招聘笔试题及解答(某大型央企)
评论
0/150
提交评论