欢迎来到天天文库
浏览记录
ID:56491731
大小:51.50 KB
页数:8页
时间:2020-06-25
《查询与排序 实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学院专业班学号姓名协作者_____________教师评定_________________实验题目查询与排序综合实验评分表指导教师评分标准序号评分项目评分标准满分打分1完成度按要求独立完成实验准备、程序调试、实验报告撰写。202实验内容(1)完成功能需求分析、存储结构设计;(2)程序功能完善、可正常运行;(3)测试数据正确,分析正确,结论正确。303实验报告内容齐全,符合要求,文理通顺,排版美观。404总结对实验过程遇到的问题能初步独立分析,解决后能总结问题原因及解决方法,有心得体会。10实验报
2、告一、实验目的与要求1、掌握散列表的构造及实现散列查找;2、掌握堆排序的算法;3、综合比较各类排序算法的性能。二、实验内容#include"stdio.h"#include"stdlib.h"#include"string.h"#include"windows.h"#defineMAX20typedefstruct{unsignedlongkey;intresult;charname[30];}RNode;RNodet[MAX],r[MAX];inth(unsignedlongk)/*散列函数*/
3、{return((k-3109005700)%11);}voidinsert(RNodet[],RNodex)/*插入函数,以线性探查方法解决冲突*/{inti,j=0;i=h(x.key);while((j0))j++;if(j==MAX)printf("full");i=(i+j)%MAX;if(t[i].key==0){t[i]=x;}else{if(t[i].key==x.key)p
4、rintf("记录已存在!");}}intsearch(RNodet[],unsignedlongk)/*插入函数,以线性探查方法解决冲突*/{inti,j=0;i=h(k);while((j5、ntw){inti,j;RNodea;i=v;a=r[i];j=2*i+1;while(j<=w){if((jr[j+1].result))j++;if(a.result>r[j].result){r[i]=r[j];i=j;j=2*j+1;}elsebreak;}r[i]=a;}voidsort(RNoder[],intn){inti;RNodey;for(i=n/2-1;i>=0;i--)sift(r,i,n-1);for(i=n-1;i>0;i--){y=6、r[0];r[0]=r[i];r[i]=y;printf("学生姓名:%st学生学号:%ut学生成绩:%d",r[i].name,r[i].key,r[i].result);sift(r,0,i-1);}printf("学生姓名:%st学生学号:%ut学生成绩:%d",r[0].name,r[0].key,r[0].result);}intmenu()/*菜单函数*/{intselect;printf("");printf("");printf("tt*******7、******查找排序实验******************");printf("tt*");printf("tt*************欢迎进入系统******************");printf("tt*menu:*");printf("tt*1.查找*");printf("tt*2.排序*");printf("tt*0.退出*");printf("tt***************************************8、****");printf("");printf("ttt请输入0--2");printf("");printf("请选择您所要的操作(选择(0)退出):");scanf("%d",&select);getchar();return(select);}voidmain()/*主函数*/{inti,s,n,select;intj=0,m=0;RNodey;for(i=0;i
5、ntw){inti,j;RNodea;i=v;a=r[i];j=2*i+1;while(j<=w){if((jr[j+1].result))j++;if(a.result>r[j].result){r[i]=r[j];i=j;j=2*j+1;}elsebreak;}r[i]=a;}voidsort(RNoder[],intn){inti;RNodey;for(i=n/2-1;i>=0;i--)sift(r,i,n-1);for(i=n-1;i>0;i--){y=
6、r[0];r[0]=r[i];r[i]=y;printf("学生姓名:%st学生学号:%ut学生成绩:%d",r[i].name,r[i].key,r[i].result);sift(r,0,i-1);}printf("学生姓名:%st学生学号:%ut学生成绩:%d",r[0].name,r[0].key,r[0].result);}intmenu()/*菜单函数*/{intselect;printf("");printf("");printf("tt*******
7、******查找排序实验******************");printf("tt*");printf("tt*************欢迎进入系统******************");printf("tt*menu:*");printf("tt*1.查找*");printf("tt*2.排序*");printf("tt*0.退出*");printf("tt***************************************
8、****");printf("");printf("ttt请输入0--2");printf("");printf("请选择您所要的操作(选择(0)退出):");scanf("%d",&select);getchar();return(select);}voidmain()/*主函数*/{inti,s,n,select;intj=0,m=0;RNodey;for(i=0;i
此文档下载收益归作者所有