e)从hash表中删除数据
STATUS delete_data_from_hash(HASH_TABLE* pHashTbl, int data)
{
NODE* pHead;
NODE* pNode;
if(NULL == pHashTbl || NULL == pHashTbl->value[data % 10])
return FALSE;
if(NULL == (pNode = find_data_in_hash(pHashTbl, data)))
return FALSE;
if(pNode == pHashTbl->value[data % 10]){
pHashTbl->value[data % 10] = pNode->next;
goto final;
}
pHead = pHashTbl->value[data % 10];
while(pNode != pHead ->next)
pHead = pHead->next;
pHead->next = pNode->next;
final:
free(pNode);
return TRUE;
}
总结:
1、hash表不复杂,我们在开发中也经常使用,建议朋友们好好掌握;
2、hash表可以和二叉树形成复合结构,至于为什么,建议朋友们好好思考一下?
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
注:相关教程知识阅读请移步到C++教程频道。










