int Hash(int x)
{
return x % 10;
}
void CreatHash(int* a, int* hash,int n)
{
int index=0;
for (int i = 0; i < n; i++)
{
index = Hash(a[i]);
while (hash[index % n] != 0)
{
index++;
}
hash[index] = a[i];
}
}
int HashSearch(int* hash, int x, int n)
{
int hashadd = Hash(x);
while (hash[hashadd] != x)
{
hashadd = (hashadd + 1) % n;
if (hash[hashadd] == 0 || hashadd == Hash(x))
return -1;
}
return hashadd;
}
哈希查找算法
最新推荐文章于 2022-08-25 19:44:46 发布