zoukankan      html  css  js  c++  java
  • Hash API

    #include <iostream>
    using namespace std;
    
    #define size 100
    
    struct node{
    
        int val;
        node *pre;
        node *next;
    
    };
    
    int index = 0;
    node HashTable[size];
    node HashPool[size];
    
    node *getNewNode()
    {
        return &HashPool[index++];
    }
    
    void init()
    {
        index = 0;
        for(int i = 0; i < size; i++)
        {
            HashTable[i].next = &HashTable[i];
            HashTable[i].pre = &HashTable[i];
            HashTable[i].val = 0;
        }
    }
    
    void insert(int key,node *newNode)
    {
        node *head = &HashTable[key];
        
        newNode->next = head ->next;
        newNode->pre = head;
        head ->next->pre = newNode;
        head->next = newNode;
        
    }
    
    node * searchNode(int key,node *newNode)
    {
        node *x = HashTable[key].next;
        while(x != &HashTable[key]){
            x = x->next;
        }
        if(x != &HashTable[key])
            return x;
        else return NULL;
    }
    
    void deleteNode(node * node){
        node->pre->next = node->next;
        node->next->pre = node->pre;
    }
    
    int main()
    {
        init();
        for(int i = 0; i < 100; i++)
        {
            int num = rand()%100+1;
            int key = num % 11;
            HashTable[key].val++;
            node *newNode = getNewNode();
            newNode->val = num;
            insert(key,newNode);
        }
    
        for(int i = 0; i < 100; i++)
        {
            if(HashTable[i].val != 0)
            {
                cout << i << " ";
                cout << HashTable[i].val << " : " ;
                node *head = (&HashTable[i]) -> next;
                while(head != &HashTable[i])
                {
                    cout << head->val << "  ";
                    head = head -> next;
                }
                cout << endl;
            }
        }
        return 0;
    }
  • 相关阅读:
    UML类图基础说明
    grep: /usr/include/php/main/php.h: No such file or directory
    活在幻梦中的你我
    Markdown语法笔记
    眼见为实
    潜意识与暗示
    蝌蚪与青蛙是同一个物种么?
    PHP 数组函数整理
    git 笔记
    vue2.0-组件传值
  • 原文地址:https://www.cnblogs.com/zyqBlog/p/8033776.html
Copyright © 2011-2022 走看看