程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言入門知識 >> C語言實現雙向非循環鏈表(不帶頭結點)的清空

C語言實現雙向非循環鏈表(不帶頭結點)的清空

編輯:C語言入門知識

我在之前一篇博客《C語言實現單鏈表的基本操作》實現了如何清空一個單鏈表,現在換成了雙向的非循環鏈表,整體思路是一樣的。代碼上傳至:https://github.com/chenyufeng1991/ClearDoubleLinkedList 。

核心代碼如下:

Node *ClearDoubleLinkedList(Node *pNode){

    if (pNode == NULL) {
        printf("%s函數執行,原鏈表就是空鏈表,無須執行該方法\n",__FUNCTION__);
        return  NULL;
    }else{
        while (pNode->next != NULL) {

            //一次刪除每一個節點
            pNode = pNode->next;
            free(pNode->prior);
            pNode->prior = NULL;
        }

        //清除最後一個節點
        free(pNode);
        pNode = NULL;

        printf("%s函數執行,雙向非循環鏈表清空成功\n",__FUNCTION__);
        return pNode;
    }
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved