




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学院专业班学号
姓名协作者教师评估
实验题目查询与排序
综合实验评分表
序
号评分项目评分标准满分打分
1完毕度按规定独立完毕实验准备、程序调试、实验报告撰写。20
(1)完毕功能需求分析、存储结构设计;
(2)程序功能完善、可正常运营;
2实验内容30
(3)测试数据对的,分析对的,结论对的。
3实验报告内容齐全,符合规定,文理通顺,排版美观。40
对实验过程碰到的问题能初步独立分析,解决后能总结问题
4总结10
因素及解决方法,有心得体会。
实验报告
实验目的与规定
1、掌握散列表的构造及实现散列查找;
2、掌握堆排序的算法;
3、综合比较各类排序算法的性能。
二、实验内容
#1nclude"stdio.h"
#incIude"stdlib.h"
#inc1ude"string.h"
#include"windows.h"
#defineMAX20
typedefstruct{
°unsignedlongkey;
intresuIt;
charname[30];}RNode;
RNOdet[MAX],r[MAX];
inth(unsignedlongk)/*散列函数*/
(
。return((k-)%l1);
voidinsert(RNodet[],RNodex)/*插入函数,以线性探查方法解决冲突*/
。1nti,j=0;
i=h(xkey);
while((j<MAX)&&(t[(i+j)%MAX].key!=x.key)&&(t[(i+j)%MAX].key>0))
j++;
if(j==MAX)printf("fu1l\n");
i=(i+j)%MAX;
»if(t[i].key==0)
…{t[i]=x;}
else
0(
。1f(t[i].key==x.key)
printf("记录已存在!\n“);
)
)
intsearch(RNodet[],unsignedlongk)/*插入函数,以线性探查方法解决冲
突*/
(
inti,j=0;
i=h(k);
°whiIe((j<MAX)&&(t[(i+j)%MAX].key!=k)&&(t[(i+j)%MAX].key!=0))
j++;
。i=(i+j)%MAX;
if(t[i].key==k)
retum(1);
。if(j==MAX)
returnMAX;
。else
»return(-i);
)
voidsift(RNoder[],intv,intw)
(
0int1J;
。RNodea;
。i=v;
°a=r[i];
j=2*1+1;
°while(j<=w)
(
°if((j<w)&&(r[j]result>r[j+l].result))
。j++;
°if(a.result>r[j].resuit)
{r[i]=r[j];i=j;j=2*j+l;}
…elsebreak;
r[i]=a;
)
voidsort(RNoder[],intn)
(
0inti;
°RNodey;
°for(i=n/2-1;i>=0;i--)
°sift(r,i,n-1);
for(i=n-1;i>0;i--)
{y=r[O];r[O]=r[i];r[i]=y;
printf("学生姓名:%s\t学生学号:%u\t学生成绩:%d\n",r[i].name,r[i].key,r[i].
result);
sift(r,0,1-1);
)
printf("学生姓名%s\t学生学号为u\t学生成绩%d\n",r[0].name,r[0].key,r
[0].result);
)
intmenu()/*菜单函数*/
(
intseiect;
printf("\n\n");
printf("\n");
printf("\t\t*************查找排序实验******************\n
printf("\t\t夫\n");
printf("\t\t********欠1卬幺充******************\n")*
printf("\t\t*menu:An");
print*1.查找*\n
printf("\t\t*2.排序An");
printf("\t\t*0.退出*\n");
pr-intf("\t\t*******************************************\n
printf("\n");
printf("\t\t\t请输入0—2\n”);
printf("\n");
printf("请选择您所要的操作(选择(0)退出):”);
scanf("%d",&select);
getchar();
return(select);
voidmain()/*主函数*/
(
inti,s,n,select;
intj=0,m=0;
RNodey;
for(i=0;i<MAX;i++)
t[i].key=O;/*初始化*/
for(i=0;1<10;i++)/*导入记录*/
{
switch(i){
case0:{
RNodex;
x.key=310900***;
°strepy(x.name,”***");
x.resu1t=90;
insert(t,x);
break;}
case1:{
°RNodex;
°x.key=31090***1;
strcpy(x.name,"***");
x.result=95;»
insert(t,x);
break;}
case2:{
6RNodex;
,x.key=3109005***;
°strcpy(x.name,"***");
x.resuIt=92;
insert(t,x);
break;)
case3:{
。。RNodex;
°x.key=31090***;
strcpy(x.name,"***");
x.result=93;
insert(t,x);
break;}
case4:{
RNodex;
x.key=3109005***;
strepy(x.name,"***");
x.resu1t=94;。
1nsert(t,x);
break;}
°case5:{
RNodex;
x.key=310900***;
strcpy(x.name,"***");
°x.result=91;
insert(t,x);
break;}
»case6:{
RNodex;
。xkey=3109005***;
strcpy(x.name***");
»x.result=96;。
insert(t,x);
break;}
case7:{
。RNodex;
x.key=310900***;
°strcpy(,"***");
°x.result=99;
1nsert(t,x);
break;}
case8:{
»RNodex;
»x.key=310900***;
strcpy(x.name,"***");
xresult=98;。
1nsert(t,x);
break;}
«case9:{
°°RNodex;
sx.key=310900***;
strcpy(x.name,"***");
x.result=97;。
insert(t,x);
break;}
)
}
printf("\n\n\n\n\n\n\n");
system("cls");
Ioop:{
。printf("\n\n\n");
se1ect=menu();
switch(select){
case1:{
printf("\n请输入要查找的学生学号:");
scanf("%u",&y.key);
s=search(t,y.key);
if(s==MAX||s<0)printf("notfind\n");
else
{printf("\n\n你要查找的学生信息\n");
printf("学生姓名:%s\t学生学号:%u",t[s].name,t[s].key);}
break;}
。case2:{
°for(i=0;1<MAX;i++)
°{if(t[i].key!=0)
0(
。r[j++]=t[i];
»m++;
00}
)
printf("排序之前:\n\n");
»for(i=0;i<m;i++)
0printf("学生姓名:%s\t学生学号:%u\t学生成绩:%d\n",r[i].name,r[i].ke
y,r[i].result);
printf("\n排序之后:\n");
osort(r,m);
break;
)
case0:exit(0);
)
getchar();
goto1oop;
)
)
三、实验结果和数据解决
(1)查找数据(310900****)
(2)排序
四、总结
这次的课程实验完毕了主控界面,录入,输出,排序,查找,结束界面等功能。在程
序调试过程之中,我还是个初学者,在编写程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休闲农业与乡村旅游融合发展2025年乡村旅游与旅游产业市场拓展策略研究报告
- 环境保护课题研究实施方案范文
- 有机肥生产工艺流程标准化研究
- 休闲食品健康化转型与市场拓展:2025年行业政策与市场机遇报告
- 休闲食品行业健康化转型趋势分析:2025年市场拓展与消费者需求分析报告
- 传统食品工业升级攻略:2025年技术改造与产业融合报告
- 低碳农业2025年农业废弃物堆肥处理技术应用指南报告
- 二年级上册综合实践活动方案计划
- 浙江省嘉兴市上海外国语大秀洲外国语学校2024年物理八年级第一学期期末考试模拟试题含解析
- 广东省珠海市十一中学2025届物理八上期末复习检测模拟试题含解析
- 酒店服务流程与空间布局优化
- (2025)医疗护理员理论考试试题含答案
- 2025年广西中考语文试题卷(含答案)
- 建设工程法律培训
- 2025年南京市中考数学真题试卷
- 2025年呼伦贝尔农垦集团有限公司招聘笔试参考题库含答案解析
- 2025年重庆市中考数学试卷真题(含标准答案)
- 2024广西专业技术人员继续教育公需科目参考答案(97分)
- 湘少版小学全部英语单词
- 人教版九年级数学上册教材解读分析精编ppt
- 电子秤cal标定方法
评论
0/150
提交评论