数据结构——线性表.docx

上传人:太** 文档编号:97008015 上传时间:2024-04-09 格式:DOCX 页数:4 大小:16.88KB
返回 下载 相关 举报
数据结构——线性表.docx_第1页
第1页 / 共4页
数据结构——线性表.docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《数据结构——线性表.docx》由会员分享,可在线阅读,更多相关《数据结构——线性表.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、实验报告一、实验目的:通过学习,上机实践熟悉用C语言编程,并掌握建立一个线性表,输出 一个线性表,对线性表进行数据的的插入或删除。二、实验内容:编制c程序,利用顺序存储方式实现下列功能:从键盘输入数据建立一 个线性表,并输出该线性表;然后根据屏幕菜单中的选择,进行数据的插 入或删除等操作,并在插入或删除数据后输出线性表;最后在屏幕菜单中 选择Q或q,即可结程序的运行。三、实验步骤:(1)构写程序的大体框架;(2)具体编写程序;(3)程序的检查;(4)程序的调试;四、实验调试过程及结果:(1) 调试程序,输入顺序存储的个数n: shu ru n=8按Enter依次输入 数据 dataO到 dat

2、a8: 1 2 3 4 5 6 7 8O如图一:ata0= atatl = ataC2 = ataL3= ataC4= ataC5 = ata6 = ata?=(图一)按Enter得到顺序存储的各个元素及出现插入删除退出操作的屏幕菜 单选择。如图二:data0=l dataCl=2 data2=3 data3=4 data4=5 data5=6 data61=7 data7=8I.insert:dD.delete:.quit:(图二)(2)根据插入删除退出操作的屏幕菜单选择i,插入数据9,插入位置为输 入2,即在data2中的数据为9,原来的数据从第2个开始都向后移了一个 位置,结果如图三:a

3、 p t e r s e ane: idU129345678 sn .1 t:9theinserted dataJ slocation: 2(图三)(3)根据插入删除退出操作的屏幕菜单选择d,删除数据位置为5,即删除 数据5,并且后面的数据依次向前移一个位置,结果如图四:dpddddddid a.tU12934678 p =e e t s 1 1 n e u Id Qthe deleteddata s location:5(图四)(4)根据插入删除退出操作的屏幕菜单选择q,即退出屏幕,结束程序 运行。五、具体程序:#includestdio. h#includemalloc. h#define

4、 maxsize 1024 typedef char datatype; typedef struct datatype datamaxsize; int last;)sequenlist;int insert(sequenlist *L, datatype x, int i) int j;if (L-last-maxsize-1)printf(overflow);return 0; )else if(iL-last)printf (error);return 0;elsefor (j=L-last; j=i; j) L-dataj+l=L-dataj; L-datai=x;L-last=L-

5、last+l;return (1);int dellist (sequenlist *L, int i) if(iL-last)printf (error);return 0; elsefor(;ilast;i+)L-datai=L-datai+l;L-last=L-last-l;return (1);void creatlist(sequenlist *L) int n, i;char tmp;printf (z/shu ru n二);scanf(%d, &n);for(i=0;idatai=tmp;L-last=n-l;printf (n);void printout(sequenlist

6、 *L)int i;for (i=0;ilast;i+) printf (z/data%d=z/, i);printf (/z%cn/z, L-datai);main ()sequenlist *L;char cmd, x;int i;L= (sequenlist *)malloc(sizeof(sequenlist);creatlist(L);printout(L);do(printf(i, L . . insert:n);printf (d, D. delete:n/z);printf (zzq, Q. . . quit:n);do fflush(stdin);scanf(c, &cmd)

7、;while (cmd!=,d)&(cmd!=q)&(cmd!=,Q,)&(cmd!=,D )&(cmd!=i )&( cmd!=,T );switch(cmd)r,t case 1 :case r :printf(/zinsert a data:);fflush(stdin);scanf (%c, &x);printf(Please put in the inserted datas location: );scanf (%d, &i);insert (L, x, i);printout(L);break;case d:case D:printf(/zPlease put in the deleted datas location/7);fflush(stdin);scanf (%d, &i);dellist (L, i);printout(L);break;)while(cmd!=,q)&(cmd!=Q);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

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