作业帮 > 综合 > 作业

要求设计实现一个查找算法比较,能对顺序查找、折半查找、分块查找的平均查找长度进行比较.

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/16 19:18:56
要求设计实现一个查找算法比较,能对顺序查找、折半查找、分块查找的平均查找长度进行比较.
1.测试数据的输入并利用数组进行存储.
2.给定一个关键值,在测试数据中对关键值采用顺序查找、折半查找、分块查找.
3.计算出各种查找算法的平均查找长度并显示出来.
要求设计实现一个查找算法比较,能对顺序查找、折半查找、分块查找的平均查找长度进行比较.
给你一个参考程序,你可以看一下,自己仿照这些一下:
#include
#include
#include
const int ARRSIZE= 10015;
// 从小到大排序数组元素
void asort(int *a,int s)
{
int i,j,k,t;
for (i = 0; i < s-1; ++i)
{
k = i;
for (j = i + 1; j < s; ++j)
{
if (a[k] > a[j])
{
k = j;
}
}
if (k != i)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
}
// 顺序查找,找到返回该元素数组下标,否则返回-1
int SeqSearch(int *a,int s,int k)
{
int i;
for (i = 0; i < s; ++i)
{
if (k == a[i])
return i;
}
return -1;
}
// 折半查找,找到返回该元素数组下标,否则返回-1
int BinSearch(int *a,int s,int k)
{
int low = 0;
int high = s - 1;
while (low = a[i*t] && k