单链表整表删除的算法思路如下:
- 声明一结点p和q;
- 将第一个结点赋值给p;
循环:
- 将下一结点赋值给q;
- 释放p;
- 将q复制给p。
实现代码:
Status ClearList (LinkList *L)
{
LinkList p,q;
p=(*L)->next; /*p指向第一个结点*/
while (p) /*没到表尾*/
{
q=p->next;
free(p);
p=q;
}
(*L)->next=NULL; /*头结点指针域为空*/
return OK;
}