数据结构试验报告册

上传人:yh****1 文档编号:125958242 上传时间:2020-03-21 格式:DOC 页数:111 大小:1.41MB
返回 下载 相关 举报
数据结构试验报告册_第1页
第1页 / 共111页
数据结构试验报告册_第2页
第2页 / 共111页
数据结构试验报告册_第3页
第3页 / 共111页
数据结构试验报告册_第4页
第4页 / 共111页
数据结构试验报告册_第5页
第5页 / 共111页
点击查看更多>>
资源描述

《数据结构试验报告册》由会员分享,可在线阅读,更多相关《数据结构试验报告册(111页珍藏版)》请在金锄头文库上搜索。

1、 .学 生 实 验 报 告 册(理工类)课程名称:算法与数据结构 专业班级: M13软件工程 学生学号: 1321106033 学生姓名: 贾莹 所属院部: 龙蟠学院 指导教师: 徐永华 20 14 20 15 学年 第 一 学期 金陵科技学院教务处制实验报告书写要求实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。实验报告书写说明实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。填写注意事项(1)细致观察,及时、准确、如实

2、记录。(2)准确说明,层次清晰。(3)尽量采用专用术语来说明事物。(4)外文、符号、公式要准确,应使用统一规定的名词和符号。(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。实验报告批改说明实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。实验报告装订要求实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。word教育资料实验项目名称: 顺序表 实验学时: 2 同组学生姓名: 无 实验地点: A203 实验日期: 2014/10/13

3、实验成绩: 批改教师: 批改时间: 实验1 顺序表一、实验目的和要求掌握顺序表的定位、插入、删除等操作。二、实验仪器和设备Turbo C 2.0 / Visual C + 6.0三、实验内容与过程(含程序清单及流程图)1、必做题(1) 编写程序建立一个顺序表,并逐个输出顺序表中所有数据元素的值。编写主函数测试结果。(2) 编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号从0开始编号);如果不存在,返回1。编写主函数测试结果。(3) 在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。解题思路:首先查找插入的位置,再移

4、位,最后进行插入操作;从第一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位置;然后将从表尾开始依次将元素后移一个位置直至元素i;最后将新结点x插入到i位置。(4) 删除顺序表中所有等于X的数据元素。2、选做题(5) 已知两个顺序表A和B按元素值递增有序排列,要求写一算法实现将A和B归并成一个按元素值递减有序排列的顺序表(允许表中含有值相同的元素)。程序清单:1、必做题(1)(2)(3)(4)#include#define maxsize 64typedef struct nodeint tag;/*记录线性表最后一个元素的下标*/int datamaxsize;list;/(1)顺

5、序表的创建list CREAT()int i;int a;list p;printf(输入顺序表的值,-1表示输入结束:n);scanf(%d,&a);i=0;while(a!=-1)/*-1表示输入结束*/if(i=maxsize)printf(顺序表已满!);break;elsep.datai=a;i+;scanf(%d,&a);p.tag=i-1;printf(创建完毕!n);return p;/(2)顺序表的定位int GET(list p,int x)/*存在返回下标,不存在返回-1。*/int i;for(i=0;itagmaxsize-1)if(xdata0)for(j=p-ta

6、g;j=0;j-)p-dataj+1=p-dataj;p-data0=x;else if(xp-datap-tag)p-datap-tag+1=x;elsefor(i=1;itag;i+)if(xp-datai & xdatai+1)for(j=p-tag;j=i+1;j-)p-dataj+1=p-dataj;p-datai+1=x;p-tag+;printf(成功插入!);elseprintf(顺序表已满,无法插入!);/(4)顺序表的删除list DELETE(list p,int x)/*删除顺序表中所有数据元素为x的数*/int i=0,j;while(i=p.tag)if(p.dat

7、ai=x)for(j=i;jp.tag;j+)p.dataj=p.dataj+1;p.tag-;else i+;return p;/顺序表的排序list SORT(list p)int i,j;int temp;for(i=0;ip.tag;i+)for(j=i+1;jp.dataj)temp=p.datai;p.datai=p.dataj;p.dataj=temp;printf(排序完成!);return p;/顺序表的打印void PRINT(list p)int i;printf(ntag=%dn,p.tag);for(i=0;i=p.tag;i+)printf(%d ,p.datai)

8、;printf(打印完毕!nn);/主函数int main()list n;int m,k,select;n.tag=-1;n=CREAT();PRINT(n);printf(select=1时,执行查找操作;n);printf(select=2时,执行排序操作;n);printf(select=3时,执行插入操作;n);printf(select=4时,执行删除操作;n);printf(select=0时,退出此次操作.n);printf(n请输入select的值:);scanf(%d,&select);while(select)switch (select)case 1:printf(请输

9、入你要查找的数:);scanf(%d,&m);k=GET(n,m);if(k=-1)printf(不存在该数!n);elseprintf(存在该数,位置tag=%dn,k);break;case 2:n=SORT(n);PRINT(n);break;case 3:printf(请输入你要插入的数:);scanf(%d,&m);INSEART(&n,m);PRINT(n);break;case 4:printf(请输入你要删除的数:);scanf(%d,&m);n=DELETE(n,m);PRINT(n);break;default:printf(输入错误!n);break;printf(n请输

10、入select的值:);scanf(%d,&select);return 0;2、选做题(5)#include#define maxsize 64typedef struct nodeint tag;/*记录线性表最后一个元素的下标*/int datamaxsize;list;/顺序表的创建list CREAT()int i;int a;list p;printf(输入顺序表的值,-1表示输入结束:n);scanf(%d,&a);i=0;while(a!=-1)/*-1表示输入结束*/if(i=maxsize)printf(顺序表已满!);break;elsep.datai=a;i+;scanf(%d,&a);p.tag=i-1;printf(创建完毕!n);return p;/顺序表的打印void PRINT(list p)int i;printf(ntag=%dn,p.tag);for(i=0;ilb.dataj)lc.datak=la.datai;i-;elselc.datak=lb.dataj;j-;k+;while(i!=-

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

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号