下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、攀 枝 花 学 院 实 验 报 告实验课程 数据结构 实验项目:线性表的顺序存储 实验日期:系: 班级: 姓名: 学号: 同组人: 指导老师: 成绩: 实验目的: 1、掌握线性表的顺序存储结构。 2、能熟练地利用顺序存储结构实现线性表的基本操作。 3、能熟练地掌握顺序存储结构中算法的实现。 实验仪器设备、药品、器材 1、硬件环境微型计算机一台2、软件环境Windows98/2000/XP/win7操作系统、调试程序VC 6.0. 实验原理(装置)无 实验步骤(内容)1、 建立含有若干个元素的顺序表,并将结果在屏幕上输出。 1、顺序表源代码如下创建了顺序表的头文件SeqList.h主要代码如下:
2、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);for(i=0;i&
3、lt;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,DataT
6、ype& 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();/*显示菜单*/scanf
7、("%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=is
8、Full(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); el
11、se 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物化学(中医药版)学习通超星期末考试答案章节答案2024年
- 提高课堂教学质量工作总结
- 招标代理公司年度工作总结
- 路基路面课程设计总监
- 水泥企业安全生产管理制度
- 印刷原纸采购合同(2篇)
- 南瓜种植施工合同(2篇)
- 楼道课程设计素材
- 冬季消防安全工作方案
- 清华大学在线课程设计
- 古代汉语智慧树知到期末考试答案章节答案2024年内江师范学院
- 九年级新目标英语全册单词表(汉语默写版)
- 牙源性颌骨囊肿诊疗规范(2021年版)
- 2024年铁路职业技能鉴定考试-高铁笔试考试历年高频考点试题摘选含答案
- DL-T499-2001农村低压电力技术规程
- 保洁队伍人员稳定性措施
- 2024两人合伙人合作简单协议书范本
- 《农村电网剩余电流动作保护器安装运行规程》
- SYT 7628-2021 油气田及管道工程计算机控制系统设计规范-PDF解密
- 设计项目组织管理方案
- 信息安全技术 电信领域数据安全指南
评论
0/150
提交评论