请编写函数,销毁线性表(单链表)。
函数原型
void LListDestroy(LLIST *list);
说明:参数 list 是指示线性表(单链表)的指针。函数完成对线性表(单链表)的销毁:清空单链表,回收附加头结点,将头指针置为空指针,将线性表长度置为零。
问题修改主函数,对以上函数进行测试。
int main()
{
int n;
LELEMENT x;
LNODE *p, s;
LLIST a;
LListCreate(&a);
scanf("%d", &n);
p = a.head;
while (n--)
{
LElementInput(&x);
s = (LNODE)malloc(sizeof(LNODE));
s->data = x;
s->next = p->next;
p->next = s;
p = s;
++a.length;
}
LListDestroy(&a);
if (a.head == NULL && a.length == 0)
{
puts("Yes");
}
else
{
puts("No");
}
return 0;
}
样例输入
5
0.1 0.2 0.3 0.4 0.5
样例输出
Yes
从头结点一个个遍历,然后销毁即可