建立简单的Hash table(哈希表)by C language
Posted Blue_Keroro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建立简单的Hash table(哈希表)by C language相关的知识,希望对你有一定的参考价值。
1 #define SIZE 1000 //定义Hash table的初始大小 2 struct HashArray 3 { 4 int key; 5 int count; 6 struct Array* next; 7 }Hash[SIZE]; //主函数中需要初始化 8 void addHash(int num) //在Hash table中添加数据 9 { 10 int temp=abs(num%SIZE); //添加的数据可包括负数 11 if(Hash[temp].key==0) 12 { 13 Hash[temp].key=num; 14 Hash[temp].count++; 15 }else if(Hash[temp].key==num) 16 { 17 Hash[temp].count++; 18 }else 19 { 20 struct HashArray *p=&Hash[temp]; 21 while(p->key!=num&&p->next!=NULL) 22 {p=p->next;} 23 if(p->key==num) 24 {p->count++;} 25 else 26 { 27 p->next=(struct HashArray*)malloc(sizeof(struct HashArray)); 28 p=p->next; 29 p->key=num; 30 p->count=1; 31 p->next=NULL; 32 } 33 } 34 }
以上是关于建立简单的Hash table(哈希表)by C language的主要内容,如果未能解决你的问题,请参考以下文章