欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    顺序表实验报告.docx

    • 资源ID:11716516       资源大小:34.11KB        全文页数:17页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    顺序表实验报告.docx

    顺序表实验报告 数据结构试验报告一 系别:嵌入式系统工程系班级:嵌入式 11003 班 学号:11160400314姓名:xxx日期:2022 年 4 月 9 日指导老师 XX 一、上机试验的问题和要求:依次表的查找、插入与删除。设计算法,实现线性结构上的依次表的产生以及元素的查找、插入与删除。详细实现要求:1. 从键盘输入 10 个整数,产生依次表,并输入结点值。2. 从键盘输入 1 个整数,在依次表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示找不到。3. 从键盘输入 2 个整数,一个表示欲插入的位置 i,另一个表示欲插入的数值 x,将 x 插入在对应位置上,输出依次表全部结点值,视察输出结果。4. 从键盘输入 1 个整数,表示欲删除结点的位置,输出依次表全部结点值,视察输出结果。二、程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设计,符号名说明等)创建一个依次表,实现对依次表的插入,查找,删除等功能。 三、源程序及注释:#include <stdio.h> /*依次表的定义:*/ #define ListSize 100/*表空间大小可依据实际须要而定,这里假设为100*/ typedef int DataType;/*DataType可以是任何相应的数据类型如int, float或char*/ typedef struct DataType dataListSize; /*向量data用于存放表结点*/int length;/*当前的表长度*/ SeqList;/*子函数的声明*/ void CreateList(SeqList * L,int n);/*创建依次表函数*/ int LocateList(SeqList L,DataType x);/*查找依次表*/ void InsertList(SeqList * L,DataType x,int i); /*在依次表中插入结点x*/ void DeleteList(SeqList * L,int i);/*在依次表中删除第i个结点*/ void PrintList(SeqList L,int n); /*打印依次表中前n个结点*/void main() SeqList L;int n=10,x,i;/*欲建立的依次表长度*/L.length=0; /*调用创建线性表函数*/ printf(create function:n);CreateList(&L,n);/*建立依次表*/PrintList(L,n); /*打印依次表*/ /*调用查找函数*/printf(search function:n);printf("input the data you want to search:"); scanf("%d",&x); i=LocateList(L,x);/*依次表查找*/ if (i=0) printf("sorry,don"t find %d!nn",x); else printf("i have find the %d,it locate in %d!nn",x,i);/*调用插入函数*/ printf(Insert function:n);printf("输入要插入的位置:(input the position:)");scanf("%d",&i);printf("输入要插入的元素:(input the data:)");scanf("%d",&x);InsertList(&L,x,i);/*依次表插入 */PrintList(L,n); /*打印依次表 */*调用删除函数*/ printf(delete function:n); printf("输入要删除的位置:(input the position:)");scanf("%d",&i);DeleteList(&L,i);/*依次表删除 */PrintList(L,n); /*打印依次表 */ /*依次表的建立:*/ void CreateList(SeqList *L,int n) int i;for (i=0;i<n;i+) printf("ninput the %d data:",i+1);scanf("%d",&(*L).datai); (*L).length=n; /*依次表的查找:*/ int LocateList(SeqList L,DataType x) int i=0; while (i<_=L.length-1_ && _L.datai_=!e_)+i; if (i<L.length) return i+1; else return 0; /*依次表的插入:*/ void InsertList(SeqList *L,DataType x,int i) /*将新结点x插入L所指的依次表的第i个结点的位置上 */int j;if (i<1 | i>_L.length_) printf("插入位置非法"); exit(0);if (*L).length>=_MaxSize_) printf("表空间溢出,退出运行"); exit(0);for (j=(*L).length-1;j>=i-1;j-) _L.datak+1=L.datak_ ; /*依次表元素从后向前依次后移*/_L.datai-1=e_; /*将x插入第i个结点位置*/_L.length+_;/*表长自增1*/ /*依次表的删除:*/ void DeleteList(SeqList *L,int i) /*从L所指的依次表中删除第i个结点 */int j;if (i<1 | i>_L.length_) printf("删除位置非法"); exit(0);for (j=i;j<=(*L).length-1;j+) _L.datak-1=L.datak_; /*依次表自第i个结点起先,依次前移*/ _L.length-_;/*表长自减1*/ /*依次表的打印:*/ void PrintList(SeqList L,int n) int i; printf(the sequal list data is:);for (i=0;i<n;i+) printf("%d",L.datai);printf("nn"); 调试后的代码:#include<stdio.h>#define MaxSize 100typedef int Datatype;typedef struct Datatype dataMaxSize;int length; seqlist;void GreatList(seqlist*L,int n);int GetList(seqlist L, Datatype x);int IntList(seqlist *L,Datatype x,int i);int DelList(seqlist L,int i,Datatype *x);void PrintList(seqlist L,int n);void main() seqlist L;int n=10,x,i;L.length=0;printf("great function: n");GreatList(&L,n);PrintList(L,n);printf("get function: n");printf("please inp ut your want to search n");scanf("%d",&x);i=GetList(L,x);if(i=0) printf(" nsorry,don"t find %d n",x); else printf(" nhave find the %d,it located in %d n",x,i); printf(" nIns function: n");printf(" npleaseinput the position: n");scanf("%d",&i);printf(" nplease input the data: n");scanf("%d",&x);IntList(&L,i,x);PrintList(L,n);printf(" ndel function: n");printf(" nplease input you want to delete position: n");scanf("%d",&i);pr intf(" nplease input you want delete number:");scanf("%d",&x);DelList(L,i,&x);PrintList(L,n);/getch(); void GreatList(seqlist *L,int n) int i;for(i=0;i<n;i+) printf(" nplease input the %d data n",i+1);scanf("%d",&(*L).datai); (*L).length=n; int GetList(seqlist L,Datatype x) int i;i=0;while(i<=L.length- - 1)&&(L.datai!=x)i+;if(i<L.length)return(i+1);elsereturn(- - 1); int IntList(seqlist *L,Datatype x,int i) int k;if(i<1)|(i>L- - >length) printf(" nThe position is wrong n");return(0); if(L- - >length>=MaxSize) printf(" nempty n");return(0); for(k=L- - >length- - 1;k>=i- - 1;i+) L L- - >datak+1=L- - >datak; L L- - >datai- - 1=x;L L- - >length+; return(1); int DelList(seqlist L,int i,Datatype *x) int k;if(i<1)|(i>L.length) printf(" nThe position is wrong n"); ;return(0); *x=L.datai- - 1;for(k=i;i<=L.length;k+) L.datak- - 1=L.datak;L.length -; ;return(1); void PrintList(seqlist L,int n) int i;printf(" nThe sequal List Data is: n");for(i=0;i<n;i+)printf("%d ",L.datai);printf(" n"); 四、运行输出结果:五、调试和运行程序过程中产生的问题及实行的措施:起先只是一些小的问题,如丢了分号、括号,单词写错了,前后不一样等等。 最主要的问题就是函数检查没错误,但是运行中出现错误。第一个就是插入的函数能打印出来,但是出入不进去数;其次就是删除不了数。(如下图) 六、:对算法的程序的探讨、分析,改进设想,其它阅历教训:本次试验主要考查的的是依次表的应用及编写,而其他的许多功能都是原来练习过的,相对来说比较简单。但是完成本次试验收获还是许多的,不仅仅实在新学问上的加深,进一步了解依次表。七、对试验方式、组织、设备、题目的看法和建议: 希望老师以后可以给我们多些自己动手实践的机会,可以在课堂上多让我们动手去上机操作,老师带领我们完成主要部分,或给一 些提示指导。本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第17页 共17页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页第 17 页 共 17 页

    注意事项

    本文(顺序表实验报告.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开