建立简单的Hash table(哈希表)by C language

2017-11-11 21:42:31来源:cnblogs.com作者:Blue_Keroro人点击

分享
 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     }else19     {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         else26         {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 } 

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台