我在寻找一种更快的方法释放内存分配到哈希表在我的代码。我在下面写的是有效的,但我想知道是否有其他方法可以更快地完成任务。bool unload(void){ if (load) { node* temp; node* crawler; for(int n = 0; n < TABLESIZE; n++) { if (hashtable[n] != NULL) { // If only 1 node free it crawler = hashtable[n]; while (crawler != NULL) { temp = crawler->next; free(crawler); crawler = temp; } // free last node in list temp = crawler; free(temp); } } return true; } return false;} 最佳答案 while (crawler != NULL) { … } // free last node in list temp = crawler; free(temp);当循环退出时, >等于 >。因此,虽然完全可以将它传递给crawler,但不这样做可以节省一些时间。关于c - 释放分配给C中哈希表的内存的最快方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31336535/
10-12 15:04