TB椰程 TypeBuddy 打字搭子

哈希表

CSP-J · 编程模板 · 片段 · cpp · 难度 4/5 · 共 465 字

拉链法处理冲突,取模定位桶再链表查找

  • 数据结构
  • 哈希表

前置内容

正文

// 哈希表:键映射到桶
// 拉链法:冲突的同挂一链
// 取模定位桶,再链表查找
#include <cstdio>
const int M = 100003;
struct Node {
    int v;
    // 同桶内下一项
    Node* nx;
} hd[M], pool[100005];
int pc = 0;
// 取模定位桶下标
int h(int x) { return (x % M + M) % M; }
// 插入:头插到对应桶
void ins(int x) {
    int b = h(x);
    pool[pc].v = x;
    pool[pc].nx = hd[b].nx;
    // 更新桶的头指针
    hd[b].nx = &pool[pc++];
}
int main() {
    ins(5);
    ins(100008);
    // 计算 5 的桶号验证
    printf("%d", h(5));
    return 0;
}

CSP-J · 编程模板的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK