备考笔记-销毁单链表


单链表的销毁:链表销毁后不存在,不仅所有元素不复存在,头结点和头指针也不复存在。

算法思路:从头指针开始,依次释放所有节点。

定义一个备量指针,P,让它所指向的

一个变量要想指向某一个空间,我们就把这个空间的地址赋给P,比如:想让指针P指向变量a,
那么,就 P = &a;这样就是把 变量a 的地址赋值给 指针p 了,而 p 就指向 变量a 的地址。

如上图,想让指针p指向头结点,也就是 指针L 所指向的结点,直接 p=L;就完事儿。

接下来,让 指针L 指向下一个结点的地址(L = L->next;),

 

然后再释放 指针P 所指向的结点:delete p;或者 free(p);

如果这里用 delete p;那么前面开辟节点时,就用 new ;

如果这里用 free(p);那么前面开辟空间时,就用 malloc 方法;

再接下来就和上边操作一样,重复。这个循环的 结束条件:L==NULL,循环条件:L!=NULL

// 销毁单链表 L
Status DestroyList_L(LinkList &L){
    Lnode *p; //用于指向要销毁的结点
    while(L){ //循环条件,L 非空
        p = L;//将 头指针L 指向的地址赋值给 指针P,使 指针P 指向头结点
        L = L->next;//让 头指针L 指向下一个结点
        delete p; //释放 指针P 指向的结点
    }
    return OK; //循环结束,返回OK
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM