Advertisement

用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);
    
     p

全部评论 (0)

还没有任何评论哟~