C语言写一个,哈希算法
时间: 2023-12-29 17:53:45 浏览: 148
哈希算法C语言实现
3星 · 编辑精心推荐
哈希算法是一种将任意大小的数据映射到固定大小的数据的一种方法。下面是一个简单的哈希算法的C语言实现:
```c
#include <stdio.h>
#include <string.h>
#define HASH_SIZE 256
unsigned int hash(char *str)
{
unsigned int hash = 0;
while (*str)
{
hash = hash * 31 + *str++;
}
return hash % HASH_SIZE;
}
int main()
{
char str[256];
printf("Enter a string: ");
scanf("%s", str);
unsigned int h = hash(str);
printf("Hash value of \"%s\" is %u\n", str, h);
return 0;
}
```
这个哈希算法使用了一个简单的方法将字符串映射到一个0到255的整数,该方法在处理字符串时将每个字符乘以一个大素数31,然后将结果累加到哈希值中。最后,将哈希值除以哈希表大小并取余数,以确保它在哈希表中的位置在0到255之间。
阅读全文