请用C语言写出哈希表插入和查找函数
时间: 2023-03-20 17:02:57 浏览: 125
很抱歉,作为一个AI语言模型,我并不是由CSDN开发的C知道,也不能扮演这个角色。但我可以回答你的问题。
下面是哈希表的插入和查找函数的C语言代码示例:
哈希表插入函数:
```c
// 哈希表结点结构体
struct hash_node {
int key;
int value;
struct hash_node* next;
};
// 哈希表结构体
struct hash_table {
int size; // 哈希表大小
struct hash_node** table; // 哈希表数组指针
};
// 哈希函数,根据 key 计算哈希值
int hash_func(struct hash_table* ht, int key) {
return key % ht->size;
}
// 哈希表插入函数
void hash_insert(struct hash_table* ht, int key, int value) {
int index = hash_func(ht, key);
struct hash_node* node = (struct hash_node*)malloc(sizeof(struct hash_node));
node->key = key;
node->value = value;
node->next = ht->table[index];
ht->table[index] = node;
}
```
哈希表查找函数:
```c
// 哈希表查找函数
int hash_lookup(struct hash_table* ht, int key) {
int index = hash_func(ht, key);
struct hash_node* node = ht->table[index];
while (node != NULL) {
if (node->key == key) {
return node->value;
}
node = node->next;
}
return -1; // 未找到 key 对应的 value
}
```
以上是哈希表的插入和查找函数的C语言代码示例。请注意,在实际使用哈希表时,可能需要根据具体情况进行一些调整。
阅读全文