哈希表除留余数法 c代碼
时间: 2023-12-31 08:02:05 浏览: 91
哈希表c代码
4星 · 用户满意度95%
哈希表是一种常用的数据结构,可以实现快速的插入、查找和删除操作。哈希表除留余数法是一种常见的哈希函数,它将关键字除以哈希表大小后取余数作为哈希值。这种方法简单高效,可以使得关键字均匀地分布在哈希表中。
下面是C语言中哈希表除留余数法的代码实现:
```c
// 定义哈希表的大小
#define HASH_TABLE_SIZE 100
// 哈希函数
int hash(int key) {
return key % HASH_TABLE_SIZE;
}
// 插入操作
void insert(int* hashTable, int key, int value) {
int index = hash(key);
hashTable[index] = value;
}
// 查找操作
int search(int* hashTable, int key) {
int index = hash(key);
return hashTable[index];
}
// 删除操作
void delete(int* hashTable, int key) {
int index = hash(key);
hashTable[index] = 0;
}
// 主函数
int main() {
int hashTable[HASH_TABLE_SIZE] = {0};
insert(hashTable, 5, 10);
insert(hashTable, 105, 20);
printf("%d\n", search(hashTable, 5));
printf("%d\n", search(hashTable, 105));
delete(hashTable, 5);
delete(hashTable, 105);
return 0;
}
```
以上代码展示了哈希表除留余数法在C语言中的简单实现,通过哈希函数计算关键字的哈希值,并实现了插入、查找和删除操作。这种方法适用于不同规模的哈希表,能够很好地解决哈希冲突问题,是一种常用的哈希函数实现方式。
阅读全文