实现一个基于C语言的哈希表

实现一个基于C语言的哈希表

哈希表是一种数据结构,对于存储大量数据并需要进行快速查找与插入的情况下,它可以提供较高的效率。在这里,我们将尝试用C语言来实现一个简单的哈希表。

首先,我们需要定义一个哈希表节点的结构体:

typedef struct ListNode {
    int key;
    int value;
    struct ListNode* next;
} ListNode;

其中,key为节点的键值,value为节点的值,next指向下一个节点。

接下来,我们需要定义哈希表的结构体:

#define HASHTABLE_SIZE 1000

typedef struct HashTable {
    ListNode* table[HASHTABLE_SIZE];
} HashTable;

其中,HASHTABLE_SIZE表示哈希表的大小,table是一个指向链表头的指针数组,每个指针指向一个链表头。

然后,我们需要定义一些常用的操作函数:

  1. 创建哈希表
HashTable* createHashTable() {
    HashTable* hashtable = (HashTable*)malloc(sizeof(HashTable));
    for(int i = 0; i < HASHTABLE_SIZE; i++) {
        hashtable->table[i] = NULL;
    }
    return hashtable;
}
  1. 插入节点
void insert(

猜你喜欢

转载自blog.csdn.net/Jack_user/article/details/132285911
今日推荐