下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《数据结构》实验报告一系别:班级:学号:姓名:日期:指导教师:一、上机实验的问题和规定:顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现规定:从键盘输入10个整数,产生顺序表,并输入结点值。从键盘输入1个整数,在顺序表中直找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。从键盘输入2个整数,一个表达欲插入的位置i,另一个表达欲插入的数值x,将x插入在相应位置上,输出顺序表所有结点值,观测输出结果。从键盘输入1个整数,表达欲删除结点的位置,输出顺序表所有结点值,观测输出结果。二、程序设计的基本思想,原理和算法描述:(涉及程序的结构,数据结构,输入/输出设计,符号名说明等)三、源程序及注释:#include<stdio.h>/*顺序表的定义:*/#defineListSize100/*表空间大小可根据实际需要而定,这里假设为100*/typedefintDataType;/*1)ataType可以是任何相应的数据类型如int,f1oat或char*/typedefstruct{DataTypedala[ListSize]*向量data用于存放表结点*/nt1ength;^/*当前的表长度*/}SeqList;/*子函数的声明*/voidCreatcList(ScqList*L,intn);/*创建顺序表函数文/intLocateList(SeqListL,DataTypex):/*查找顺序表*/voidInsertList(SeqList*L,DataTypex,inti);/*在顺序表中插入结点x*/voidDeleteList(SeqList*L,inti);/*在顺序表中删除笫i个结点*/voidPrintList(SeqListL,intn);/*打印顺序表中前n个结点*/voidmain()(SeqListL;intn=10,x,i/*欲建立的顺序表长度*/L.length=0;。/*调用创建线性表函数*/printf(^createfunction:\n");CreateList(&L,n);。/*建立顺序表*/oPrintList(L,n);。。/*打印顺序表*//*调用查找函数*/printf("searchfunction:\n");printf(*inputthedatayouwanttosearch:");scanf("$d”,&x);i=LocateList(L,x);/*顺序表查找*/if(i==0)printf("sorry,don'tfind%d!\n\n",x);elseprintf("ihavefindthe%d,itlocatein%d!\n\n,z,x,i);/大调用插入函数*/printf(/,Insertfunction:\n*);Printf("输入要插入的位置:(inputtheposition:)z,);Printf("输入要插入的元素:(inputthedata:)");oscanf("%d",&x);olnsertList(&L,x,i);/*顺序表插入*/PrinlList(L,n)打印顺序表*//*调用删除函数*/printf("deletefunction:\n");printf("输入要删除的位置:(inputtheposition:)^);oscanf("%d”,&i);DeleteList(&L,i)顺序表删除*/oPrintList(L,n);。/*打印顺序表*/)/*顺序表的建立:*/voidCreateList(SeqList*L,intn){inti;。for(i=0;i<n;i++)。{printfC^Xninputthe%ddata:",i+1);scanf&(*L).data[i]);(*L).length=n;)/*顺序表的查找:*/intLocateList(SeqListL,DataTypex){inti=0;whi1e(i<L.length&&x!=L.data[i])++i;if(i<L.length)returni+1;elsereturn0;)/*顺序表的插入:*/voidInsertList(SeqList*L,DataTypex,inti){/大将新结点x插入L所指的顺序表的第i个结点的位置上大/intj;4f(i<0||i>(*D.length)。(printf("插入位置非法“);exit(0);®if((*L).1cngth>=ListSize)aprintf("表空间溢出,退出运营");exit(0);)for(j=(*L).1ength-1;j>=i—1;j一一)data[j+1]=(*L).data[j];/*顺序表元素从后向前依次后移*/(礼).data[i-l]=x;/*将x插入第i个结点位置*/(*L).1cngth++;/*表长自增1*/}/*顺序表的删除:*/voidDeleteList(SeqList*L,inti){/*从L所指的顺序表中删除第i个结点*/°intj;if(i<0||i>(*L).1ength)(。printf("删除位置非法”);exit(0);for(j=i;j<=(*L).length-1;j++)a(礼).data[j]=(*L).data[j+1];/*顺序表自第i个结点开始,依次前移*/。(*L).length-;/*表长自减1*/}/*顺序表的打印:*/voidPrintList(SeqListL,intn){inti;printf("thesequallistdatais:");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 哈工大材料力学教案第6章 弹性杆件位移分析
- 2026年杭州市江干区网格员招聘考试参考题库及答案解析
- 2026年内蒙古自治区呼伦贝尔市幼儿园教师招聘笔试备考试题及答案解析
- 无线力锤击锤动作识别方法与系统研究
- 铁酸锌基气敏材料的合成及其性能研究
- 2025-2030年理发电器设备家电专门零售行业数字营销策略分析研究报告
- 2026年岳阳市岳阳楼区幼儿园教师招聘笔试参考试题及答案解析
- 2026年物流培训采购供应合同
- 2026年邵阳市大祥区幼儿园教师招聘笔试参考题库及答案解析
- 2026年青岛市黄岛区网格员招聘考试参考试题及答案解析
- 梁裂缝修补方案
- J17J177 钢丝网架珍珠岩复合保温外墙板建筑构造
- 实习律师面试宝典
- 2023年05月山东济南新旧动能转换起步区管委会所属事业单位公开招聘工作人员(14人)笔试历年高频考点试题含答案详解
- 2023届高考作文复习:寓言类材料作文审题立意写作课件(共17张PPT)
- 2023年河南地矿职业学院单招考试职业适应性测试模拟试题及答案解析
- YY/T 0681.11-2014无菌医疗器械包装试验方法第11部分:目力检测医用包装密封完整性
- GB/T 2653-2008焊接接头弯曲试验方法
- 大型设备说明-涂胶显影机第1台
- 气胸的急救及护理
- 科技创新引领新时代-三次科技革命及其影响下的社会发展-高三统编版(2019)历史一轮复习
评论
0/150
提交评论