單鏈表整表刪除的算法思路如下:
- 聲明一結點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;
}