void DestroyList (LinkList head)
时间: 2024-05-14 21:17:23 浏览: 180
实验2第一个程序.zip_status Inilist_status destroylist_status iniolist_s
该函数的作用是销毁链表,释放链表中的所有节点所占用的内存空间。函数的参数 head 是链表的头指针。
函数的实现过程如下:
1. 定义两个指针,p 和 q,分别指向链表的头节点和第一个节点。
2. 循环遍历链表,直到链表末尾。
3. 在循环中,将 p 指向 q 所指向的节点,然后将 q 指向下一个节点。接着释放 p 所指向的节点的内存空间。
4. 将 p 和 q 指向下一个节点。
5. 重复步骤 3 和 4,直到遍历到链表末尾。
6. 最后释放链表头节点的内存空间,并将头指针设为 NULL。
函数的代码实现如下:
```
void DestroyList(LinkList head) {
ListNode *p = head, *q = head->next;
while (q != NULL) {
p = q;
q = q->next;
free(p);
}
free(head);
head = NULL;
}
```
阅读全文