1 #define SIZE 1000 //定义Hash table的初始大小 2 struct HashArray 3 { 4 int key; 5 int count; 6 struct HashArray* 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 }
内容来源于网络如有侵权请私信删除
- 还没有人评论,欢迎说说您的想法!