查询与排序实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
printf(
"\n\n");
printf(
"\n");
printf(
"\t\t*************
^查找排序实^验******************\n"
printf(
"\t\t*\n");
printf(
"\t\t*************
^欢迎进入系^统******************\n"
j ++;
if (j ==MAX) printf( "full\n");
i =(i +j) %/IAX;
if (t[i]. key==0)
{t[i] =x;}
else
{
if (t[i]. key==x. key)
printf( "记录已存在!\n");
}
}
int search(RNode t[],unsigned long k) /*插入函数,以线性探查方法解决冲突*/
内容齐全,符合要求,文理通顺,排版美观。
40
4
总结
对实验过程遇到的问题能初步独立分析,解决后能总结问题 原因及解决方法,有心得体会。
10
实验报告
实验目的与要求
1、掌握散列表的构造及实现散列查找;
2、掌握堆排序的算法;
3、综合比较各类排序算法的性能。
二、实验内容
#include "stdio.h"
#include "stdlib.h"
);
);
););););
);
{r[i] =r[j];i =j;j =2*j +1;}
else break;
}
r[i] =a;
}
void sort(RNode r[], int n)
{
iFra Baidu bibliotekt i;
RNode y;
for (i =n/2-1;i >=0;i --)
sift(r,i, n -1);
for (i =n- 1;i >0;i --)
}
void sift(RNode r[], int v, int w)
{
int i,j;
RNode a;
i =v;
a=r[i];
j =2*i +1;
while (j <=w)
{
if ((j <w)&&r[j]. result >r[j+1] . result))
j++;
if (a. result >r[j] . result)
#include "string.h"
#include "windows.h"
#define MAX 20
typedef struct{
unsigned long key;
int result;
char name[30]; }RNode;
RNode t[MAX],r[MAX];
int h( unsigned long k) /*散列函数*/ {
printf(
"\t\t*menu:
*\n"
printf(
"\t\t*1.
查找
*\n"
printf(
"\t\t*2.
排序
*\n"
printf(
"\t\t*0.
退出
*\n"
printf(
"\t\t*******************************************\n"
printf(
return ((k - 3109005700)%11);
} void insert(RNode t[],RNode x) /*插入函数,以线性探查方法解决冲突*/
{
int i,j=0;
i =h(x. key);
while ((j <MAX&&t[(i+j)%MAX] . key!= x. key)&&t[(i+j)%MAX] . key>0))
{
int i,j =0;
i =h(k);
while ((j <MAX&&t[(i+j)%MAX]. key!= k)&&t[(i+j)%MAX]
j ++;
i =(i +j) %/IAX;
if (t[i]. key==k)
return (i);
if (j ==MAX)
return MAX;
else
return (- i);
"\n");
printf(
"\t\t\t请输入0--2\n
");
printf(
"\n");
printf(
"请选择您所要的操作(选择(0)退出):
:");
scanf(
"%d", &select);
getchar();
return
(select);
int menu() /*菜单函数*/ {
int select;
学院专业班 学号
姓名协作者师评定
实验题目查询与排序
综合实验评分表
指导教师评分标准
序 号
评分项目
评分标准
满分
打分
1
完成度
按要求独立完成实验准备、程序调试、实验报告撰写。
20
2
实验内容
(1)完成功能需求分析、存储结构设计;
(2)程序功能完善、可正常运行;
(3)测试数据正确,分析正确,结论正确。
30
3
实验报告
{y=r[0];r[0]=r[i];r[i]=y;
printf("学生姓名:%s\t学生学号:%u\t学生成绩:%d\n",r[i]. name,r[i] . key,r[i] . result);
sift(r,0,i-1);
}
printf("学生姓名:%s\t学生学号:%u\t学生成
绩:%d\n",r[0] . name,r[0] . key,r[0] . result);
相关文档
最新文档