注册 登录
编程论坛 数据结构与算法

谁可以帮我解释一下while里面那三个语句

Heart→M鹏 发布于 2011-09-02 10:57, 401 次点击
程序代码:
void DestroyList(ListLink &L)
{// 初始条件:线性表L已存在。操作结果:销毁线性表L(
    ListLink q;
    while (L)
    {
        q = L->next;
        free(L);
        L = q;
    }
}
这是线性表的链式操作,我不明白while里面那三个语句,执行之后能把线性表销毁吗?
2 回复
#2
tisyang2011-09-02 13:44
可以,当 L 为 NULL 时候 循环就退出了
该列表以后继指针为NULL来标明最后一个节点。
#3
lpvoid2011-09-02 20:49
while (L)
    {
        q = L->next;保存L下一个指针
        free(L);释放指针L
        L = q;将q赋给L
    }
整个句子实现销毁链表
1