系统有 16GB RAM。我们用于存储在哈希表链表中的节点结构大小为 38 字节。这表明我们可以在哈希表中存储多达 4.52 亿个节点。但只有在 1300 万个节点(大约)之后才会发生内存溢出。
相关的代码段是这样的:
for (i=0;i<NO_OF_BUCKETS;i++)
{
nextptr = hashtable[i];
while (nextptr != NULL)
{
prevptr = nextptr;
nextptr = nextptr->next;
free(prevptr);
}
hashtable[i] = NULL;
}