備考筆記-銷毀單鏈表


單鏈表的銷毀:鏈表銷毀后不存在,不僅所有元素不復存在,頭結點和頭指針也不復存在。

算法思路:從頭指針開始,依次釋放所有節點。

定義一個備量指針,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