美文网首页
哈希链表

哈希链表

作者: 懒生活 | 来源:发表于2020-09-14 23:05 被阅读0次
#define HTMAX 1133
typedef struct node
{
    int key;
    char nodename[11];
    struct node* last;
    struct node* next;
}node_t;
node_t nodes[1000];
int nodeIdx = 0;
node_t* htnode[HTMAX];


node_t* cn()
{
    node_t* nn = &nodes[nodeIdx];
    nn->key = 0;
    nn->last = 0;
    return nn;
}

void an(node_t* addnode)
{
    int key = addnode->key;
    node_t* head = htnode[key];
    htnode[key] = addnode;
    addnode->next = head;
    if (head != 0)
        head->last = addnode;
}

void rn(node_t* delnode)
{
    int key = delnode->key;
    node_t* bef = delnode->last;
    node_t* aft = delnode->next;
    if (bef == 0)
    {
        htnode[key] = aft;
    }
    
    if (bef != 0)
        bef->next = aft;

    if (aft != 0)
        aft->last = bef;
}

相关文章

  • 8.数据结构

    数组链表队列栈哈希表哈希map树

  • LRU算法—Swift代码实现

    Swift 需要用到哈希表和双向链表进行实现。哈希表可以快速查找,双向链表能够通过自身从链表中删除自身

  • 数据结构和算法

    1.哈希表哈希算法详解(附带 iOS 开发中实际应用) 2.链表iOS 数据结构之链表

  • leetcode146. LRU缓存机制

    双向链表+哈希表实现LRU

  • 哈希链表

  • leetcode第138题:复制带随机指针的链表

    题目描述 考点 哈希表 链表 解题思路 使用哈希表record存储:当前结点,和其对应复制的结点; 遍历链表中的每...

  • 有环链表

    判断一个单链表是否有环 方法一:哈希表辅助遍历单链表每个节点,并存储在哈希表中,如果下次遍历的节点在哈希表出现,则...

  • 如何判断单链表是否相交并找出第一交点

    1.判断链表否是相交?解法一:哈希表法,维护一个哈希表,分别遍历两个链表。将它们中的元素存入哈希表中,如果元素有重...

  • day3 哈希表

    哈希表 是由数组跟链表组合而成的产物特点: 数组(顺序表)寻址容易 链表:插入删除容易 哈希表:寻址容易,插入删除...

  • 2019-02-15

    链表二叉树原型哈希表

网友评论

      本文标题:哈希链表

      本文链接:https://www.haomeiwen.com/subject/kiatyktx.html