数据结构销毁链表代码
时间: 2024-09-21 09:07:47 浏览: 51
C++ 数据结构链表的实现代码
在许多编程语言中,特别是像 C++ 或 Java 这样的低级语言,数据结构如链表的销毁通常是通过释放节点内存来完成的,尤其是当链表是动态分配的。这里是一个简单的 C++ 示例,展示了如何销毁单向链表:
```cpp
// 定义链表节点结构体
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
// 销毁链表函数
void destroyLinkedList(ListNode** head) {
// 如果链表为空,直接返回
if (*head == nullptr) {
return;
}
// 使用迭代或递归遍历并删除每个节点
ListNode* current = *head;
while (current != nullptr) {
ListNode* next_temp = current->next; // 保存下一个节点
delete current; // 删除当前节点
current = next_temp; // 更新当前节点指向下一个已删除的节点
}
*head = nullptr; // 最后将头指针设为nullptr,表示链表已空
}
```
这个函数首先检查链表是否为空,然后遍历链表,每次循环都将当前节点释放,并更新指针到下一个节点,直到遍历完所有节点。最后,将头指针设为 `nullptr`。
阅读全文