mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-13 07:46:06 +00:00
Update the book based on the revised second edition (#1014)
* Revised the book * Update the book with the second revised edition * Revise base on the manuscript of the first edition
This commit is contained in:
@@ -173,7 +173,7 @@ int main() {
|
||||
print(hmap);
|
||||
|
||||
/* 查询操作 */
|
||||
// 向哈希表输入键 key ,得到值 value
|
||||
// 向哈希表中输入键 key ,得到值 value
|
||||
const char *name = get(hmap, 15937);
|
||||
printf("\n输入学号 15937 ,查询到姓名 %s\n", name);
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ double loadFactor(HashMapChaining *hashMap) {
|
||||
/* 查询操作 */
|
||||
char *get(HashMapChaining *hashMap, int key) {
|
||||
int index = hashFunc(hashMap, key);
|
||||
// 遍历桶,若找到 key 则返回对应 val
|
||||
// 遍历桶,若找到 key ,则返回对应 val
|
||||
Node *cur = hashMap->buckets[index];
|
||||
while (cur) {
|
||||
if (cur->pair->key == key) {
|
||||
@@ -82,7 +82,7 @@ char *get(HashMapChaining *hashMap, int key) {
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
return ""; // 若未找到 key 则返回空字符串
|
||||
return ""; // 若未找到 key ,则返回空字符串
|
||||
}
|
||||
|
||||
/* 添加操作 */
|
||||
@@ -196,7 +196,7 @@ int main() {
|
||||
print(hashMap);
|
||||
|
||||
/* 查询操作 */
|
||||
// 向哈希表输入键 key ,得到值 value
|
||||
// 向哈希表中输入键 key ,得到值 value
|
||||
char *name = get(hashMap, 13276);
|
||||
printf("\n输入学号 13276 ,查询到姓名 %s\n", name);
|
||||
|
||||
|
||||
@@ -67,9 +67,9 @@ int findBucket(HashMapOpenAddressing *hashMap, int key) {
|
||||
int firstTombstone = -1;
|
||||
// 线性探测,当遇到空桶时跳出
|
||||
while (hashMap->buckets[index] != NULL) {
|
||||
// 若遇到 key ,返回对应桶索引
|
||||
// 若遇到 key ,返回对应的桶索引
|
||||
if (hashMap->buckets[index]->key == key) {
|
||||
// 若之前遇到了删除标记,则将键值对移动至该索引
|
||||
// 若之前遇到了删除标记,则将键值对移动至该索引处
|
||||
if (firstTombstone != -1) {
|
||||
hashMap->buckets[firstTombstone] = hashMap->buckets[index];
|
||||
hashMap->buckets[index] = hashMap->TOMBSTONE;
|
||||
@@ -81,7 +81,7 @@ int findBucket(HashMapOpenAddressing *hashMap, int key) {
|
||||
if (firstTombstone == -1 && hashMap->buckets[index] == hashMap->TOMBSTONE) {
|
||||
firstTombstone = index;
|
||||
}
|
||||
// 计算桶索引,越过尾部返回头部
|
||||
// 计算桶索引,越过尾部则返回头部
|
||||
index = (index + 1) % hashMap->capacity;
|
||||
}
|
||||
// 若 key 不存在,则返回添加点的索引
|
||||
@@ -192,7 +192,7 @@ int main() {
|
||||
print(hashmap);
|
||||
|
||||
// 查询操作
|
||||
// 向哈希表输入键 key ,得到值 val
|
||||
// 向哈希表中输入键 key ,得到值 val
|
||||
char *name = get(hashmap, 13276);
|
||||
printf("\n输入学号 13276 ,查询到姓名 %s\n", name);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user