C++使用哈希表头文件怎么写
时间: 2023-08-30 21:11:46 浏览: 140
哈希表头文件通常包含以下内容:
1. 宏定义:定义哈希表的大小、哈希函数、冲突处理方式等。
2. 结构体定义:定义哈希表节点的结构体,包含key、value等属性。
3. 函数声明:定义哈希表的操作函数,包括初始化、插入、查找、删除等。
下面是一个简单的哈希表头文件示例:
```
#ifndef HASH_TABLE_H
#define HASH_TABLE_H
#define TABLE_SIZE 100 // 哈希表大小
#define HASH_FUNC(x) (x % TABLE_SIZE) // 哈希函数
#define COLLISION_METHOD 1 // 冲突处理方式(这里使用线性探测)
typedef struct hash_node {
int key;
int value;
} HashNode;
void initHashTable(HashNode **table); // 初始化哈希表
void insert(HashNode **table, int key, int value); // 插入节点
int search(HashNode **table, int key); // 查找节点
void delete(HashNode **table, int key); // 删除节点
#endif
```
在使用哈希表时,只需要包含该头文件,然后调用相应的函数即可。例如:
```
#include "hash_table.h"
int main() {
HashNode *table[TABLE_SIZE];
initHashTable(table);
insert(table, 1, 10);
insert(table, 2, 20);
int value = search(table, 1);
delete(table, 2);
return 0;
}
```
阅读全文