记录自己在学习
数据结构
时遇到的难点,以及对其理解
线性链表的销毁
首先先定义线性表的单链表存储结构:
struct LNode
{
ElemType data;
LNode * next;
};
typedef LNode * LinkList;
想要销毁链表,就必须把其所有的成员的内存都释放掉。我学习到的一种方法是从前往后释放结点。
void DestroyList(LinkList &L)
{
LinkList q;
// 如果L指向结点非空,则执行循环进行销毁结点
while(L)
{
q = L->next; // q指向首元结点
free(L); // 释放首元结点
L = q; // L指向原首元结点
}
}
具体的销毁流程可以参考下图: