首页 > 代码库 > 哈希表
哈希表
模板
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=http://www.mamicode.com/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=http://www.mamicode.com/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;
哈希表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。