下列代碼的功能是利用散列函數hash將一個元素插入到散列表ht[]中。其中list類型的結點包含element類型的項item、以及一個next指針。若是插入成功,則函數返回1,不然返回0。

下列代碼的功能是利用散列函數hash將一個元素插入到散列表ht[]中。其中list類型的結點包含element類型的項item、以及一個next指針。若是插入成功,則函數返回1,不然返回0。c++

int insert( struct element item, list_pointer ht[] )
{
   int ret, hash_value;
   list_pointer ptr, trail, lead;

   ret = 1;
   hash_value = hash(item.key);
   trail = NULL; lead = ht[hash_value];
   for ( ; lead; trail = lead, lead = lead->next) {
      if (!strcmp(lead->item.key, item.key)) {
         printf("The key is in the table\n");
         ret = 0;
      }
   }
   if (ret) {
      ptr = (list_pointer)malloc(sizeof(struct list));
      (3分); ptr->next = NULL; if (trail) (3分); else (3分); } return ret; }
相關文章
相關標籤/搜索