摧毁链表

//好写,只需要一个变量。但不咋好理解
/*
思路:总是free头节点的后面那个节点。所以在free前,需要先保存要free那个节点为p,然后再让头节点指向
要free的那个节点的next。最后再free掉p,就ok了。判断条件是:头节点的next不为空。
*/
void Destroy(List plist)
{
	Node *p;
	while (plist->next != NULL)
	{
		p = plist->next;
		plist->next = p->next;
		free(p);
	}
}

你可能感兴趣的:(摧毁链表)