注意:这并不是特定于Java/C/C++的,但是链表就像它们一样常见,我选择在这些语言和双向链表下标记它。如果这是错误的,我可以改变它!假设你有一个标准的双向链表实现: int Number; struct List *flink;你有下面的列表(稍微不相关,我一直在这样做,以允许快速修改和恢复链表,并具有以下内容:
我正在用C语言写一个基于双向链表的代码。我错误地认为通过执行free(head_node)来删除头节点。我可以看到随着运行的进行,计算机变慢了(这显然是由于内存泄漏)。我搜索了stackoverflow和其他站点,我通常会遇到这样的代码来删除链表:while( current !上面的代码是否与双向链表相关?我的列表成员数据也包含很多指针。当我在其中一个链接上释放时,它是否释放了成员所指向的所有数据?请通过代码片段或书籍参考