哈希表

Posted seventh成长中---

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈希表相关的知识,希望对你有一定的参考价值。

模板

 1 #include<stdio.h>
 2 #include<string.h>
 3 #define MOD 1223337
 4 struct Hash_map
 5 {
 6     int num[MOD+2];
 7     char s[MOD+2][12];
 8     void next_key(int &mod,int &value,int &key)
 9     {
10         value++;
11         key=value%mod;
12     }
13     int str_hash(char str[])
14     {
15         unsigned int hash=0;
16         while(*str)
17         {
18             hash=(hash<<16)+(hash<<6)-hash+*(str++);
19         }
20         return hash&0x7FFFFFFF;
21     }
22     void insert(char str[])
23     {
24         int value=str_hash(str),mod=MOD,key=0;
25         next_key(mod,value,key);
26         while(num[key])
27         {
28             if(strcmp(str,s[key])==0)
29             {
30                 num[key]++;
31                 return ;
32             }
33             next_key(mod,value,key);
34         }
35         strcpy(s[key],str);
36         num[key]++;
37     }
38     int find(char str[])
39     {
40         int value=str_hash(str),mod=MOD,key=0;
41         next_key(mod,value,key);
42         while(num[key])
43         {
44 
45             if(strcmp(str,s[key])==0)
46             {
47                 return num[key];
48             }
49             next_key(mod,value,key);
50         }
51         return 0;
52     }
53 } Hash;

 

以上是关于哈希表的主要内容,如果未能解决你的问题,请参考以下文章

下文中的哈希片段指的是啥?

URL片段的最大长度(哈希)

URL的PHP​​和哈希/片段部分

从 URL 获取片段(哈希“#”后的值)[关闭]

带有哈希片段的锚未导航到匹配的 id

一致性哈希算法PHP测试片段