Add the hashtable based on uthash.h to docs

This commit is contained in:
krahets 2023-04-18 21:19:57 +08:00
parent dbc4906582
commit 661603d467
5 changed files with 13 additions and 10 deletions

View file

@ -30,12 +30,13 @@ void constant(int n) {
} }
/* 哈希表 */ /* 哈希表 */
typedef struct hashTable { struct hashTable {
int key; int key;
int val; int val;
// 借助 LetCode 上常用的哈希表 UT_hash_handle hh; // 基于 uthash.h 实现
UT_hash_handle hh; };
} hashTable;
typedef struct hashTable hashTable;
/* 线性阶 */ /* 线性阶 */
void linear(int n) { void linear(int n) {
@ -56,7 +57,6 @@ void linear(int n) {
// 长度为 n 的哈希表占用 O(n) 空间 // 长度为 n 的哈希表占用 O(n) 空间
hashTable *h = NULL; hashTable *h = NULL;
for (int i = 0; i < n; i++) { for (int i = 0; i < n; i++) {
hashTable *tmp = malloc(sizeof(hashTable)); hashTable *tmp = malloc(sizeof(hashTable));
tmp->key = i; tmp->key = i;

View file

@ -8,9 +8,9 @@
/* 哈希表 */ /* 哈希表 */
struct hashTable { struct hashTable {
int key; // key 为 int 型 int key;
void *val; // val 为 void * 型 void *val;
UT_hash_handle hh; // 借助 uthash 实现的哈希表 UT_hash_handle hh; // 基于 uthash.h 实现
}; };
typedef struct hashTable hashTable; typedef struct hashTable hashTable;

View file

@ -26,8 +26,7 @@ int *twoSumBruteForce(int *nums, int numsSize, int target, int *returnSize) {
struct hashTable { struct hashTable {
int key; int key;
int val; int val;
// 借助 LetCode 上常用的哈希表 UT_hash_handle hh; // 基于 uthash.h 实现
UT_hash_handle hh;
}; };
typedef struct hashTable hashTable; typedef struct hashTable hashTable;

View file

@ -705,6 +705,8 @@ $$
=== "C" === "C"
```c title="space_complexity.c" ```c title="space_complexity.c"
[class]{hashTable}-[func]{}
[class]{}-[func]{linear} [class]{}-[func]{linear}
``` ```

View file

@ -126,6 +126,8 @@
=== "C" === "C"
```c title="leetcode_two_sum.c" ```c title="leetcode_two_sum.c"
[class]{hashTable}-[func]{}
[class]{}-[func]{twoSumHashTable} [class]{}-[func]{twoSumHashTable}
``` ```