




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、攀 枝 花 学 院 实 验 报 告实验课程 数据结构 实验项目:线性表的顺序存储 实验日期:系: 班级: 姓名: 学号: 同组人: 指导老师: 成绩: 实验目的: 1、掌握线性表的顺序存储结构。 2、能熟练地利用顺序存储结构实现线性表的基本操作。 3、能熟练地掌握顺序存储结构中算法的实现。 实验仪器设备、药品、器材 1、硬件环境微型计算机一台2、软件环境Windows98/2000/XP/win7操作系统、调试程序VC 6.0. 实验原理(装置)无 实验步骤(内容)1、 建立含有若干个元素的顺序表,并将结果在屏幕上输出。 1、顺序表源代码如下创建了顺序表的头文件SeqList.h主要代码如下:
2、5 / 5文档可自由编辑打印void initList(SeqList& L)L.data=new DataTypeinitSize;if (! L.data)cerr<<"存储错误分配!n"exit(1);L.maxSize=initSize;L.n=0;void Creat(SeqList& L)/获取线性表的值int i,n; initList(L);printf("请输入线性表的元素个数:");scanf("%d",&n);printf("请输入%d个顺序表元素:n",n
3、);for(i=0;i<n;i+)scanf("%d",&L.datai);L.n=n;void clearList(SeqList& L)/清空顺序表L.n=0;int Length(SeqList& L)/计算顺序表的长度return L.n;int isEmpty(SeqList& L)/判断空否return (L.n=0)?1:0;int isFull(SeqList& L)/判断满否return (L.n=L.maxSize)?1:0;int Search(SeqList& L,DataType x)/顺序查找
4、算法for(int i=1;i<=L.n;i+)if(L.datai-1=x)return i;return 0;int Locate(SeqList& L,int i)/顺序定位算法if(i>=1 && i<=L.n) return i;else return 0;void Copy(SeqList& L1,SeqList& L2)/顺序表复制算法L1.maxSize=L2.maxSize;L1.n=L2.n;if(!L1.data)L1.data=new DataTypeL1.maxSize;if(! L1.data)cout<
5、;<"存储分配错误!n"exit(1);for(int i=1;i<=L2.n;i+)L1.datai-1=L2.datai-1;int Insert(SeqList& L,int i,DataType& x)/顺序表插入if(L.n=L.maxSize) return 0;if(i<0 | i>L.n+1) return 0;for(int j=L.n;j>=i;j-)L.dataj=L.dataj-1;L.datai-1=x;L.n+;return 1;int Remove(SeqList& L,int i,Data
6、Type& x)/顺序表删除if(!L.n)return 0;if(i<1 | i>L.n)return 0;x=L.datai-1;for(int j=i;j<L.n;j+)L.dataj-1=L.dataj;L.n-;return 1;主函数代码如下:void main()int ch;int i;DataType x;SeqList L;L.n=0;initList(L);printf(" *n");printf("*欢迎进入CHEN CHENG 顺序表结构*n");Creat(L);menu();/*显示菜单*/scan
7、f("%d",&ch); /*输入一个数符*/while(1) switch(ch) case 0: printf("The list:"); Print(L);break; case 1: printf("The list's length is %dn", Length(L); break; case 2: i=isEmpty(L); if(i=0) printf("顺序表非空!n"); if(i=1) printf("顺序表为空!n"); break;case 3: i=i
8、sFull(L); if(i=1) printf("顺序表已满!n"); if(i=0) printf("顺序表未满!n"); break;case 4:printf("x="); scanf("%d",&x); i=Search(L,x); if(i=0) printf("查找失败!"); else printf("查找成功:n%d为查找数!n",i); break;case 5:printf("i="); scanf("%d"
9、;,&i); i=Locate(L,i); if(i=0) printf("No find %dn",i); else printf("The location of %d is %dn",L.datai-1,i); break;case 6: printf("创建一个新的顺序表!n"); SeqList La; La.n=0; initList(La);Copy(La,L);printf("输出顺序表L的值:n");Print(L);printf("n");printf("输
10、出顺序表La的值:n");Print(La);break;case 7:printf("i="); scanf("%d",&i); printf("n"); printf("x="); scanf("%d",&x); printf("n"); if(Insert(L,i,x)=1) printf("Insert success !n");printf("输出插入元素后的顺序 表L!n");Print(L); e
11、lse printf("Insert failed !n"); break; case 8:printf("i="); scanf("%d",&i); if(Remove(L,i,x) printf("Delete success!nThe deleted data is %d!n",x); printf("输出删除后元素后的顺序表L!n"); Print(L); else printf("Delete failed !n"); break;case 9:printf
12、("创建一个新的顺序表!n"); SeqList Lc; La.n=0; initList(Lc); Creat(Lc); Merge(Lc,L); printf("输出求交后的顺序表的值: "); Print(Lc); break;case 10:printf("创建一个新的顺序表!n"); SeqList Lb; La.n=0; initList(Lb); Creat(Lb); Intersection(Lb,L); printf("输出求交后的顺序表的值: "); Print(Lb); break; case 11: printf("EIXT!"); printf("n"); exit(1); printf("再次输入选择:"); scanf(&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC TS 7339:2024 EN Information technology - Cloud computing - Overview of platform capabilities type and platform as a service
- 【正版授权】 ISO 37111:2024 EN Sustainable cities and communities - Urban settlements - Guidance for a flexible approach to phased implementation of ISO 37101
- 2025年度大清包劳务合同(市政道路施工管理协议)
- 2025年度废铁进出口代理与运输服务合同
- 2025年度科技展会场地布置及维护服务合同
- 2025年起动脚蹬杆项目建议书
- 2025年超低频振动标准合作协议书
- 多元化教学方法实施方案计划
- 仓库工作总结计划指引
- 社会媒体策略的实践与回顾计划
- 定量包装商品培训
- 毛戈平-+毛戈平深度报告:再论毛戈平商业模式与核心壁垒:个人IP+化妆学校+线下服务
- 第二章美容手术的特点及其实施中的基本原则美容外科学概论讲解
- 山东省潍坊市2024-2025学年高三上学期1月期末考试生物试卷含答案
- 2025年“春训”学习心得体会例文(3篇)
- 中央2025年公安部部分直属事业单位招聘84人笔试历年参考题库附带答案详解
- 咯血病人介入术后护理
- 2025年春新外研版(三起)英语三年级下册课件 Unit4第1课时Startup
- 2025-2025学年度第二学期高二物理教学计划
- 幼儿园市级课一等奖-大班语言健康绘本《我的情绪小怪兽》有声绘本课件
- 2025年供电所所长个人工作总结(2篇)
评论
0/150
提交评论