2010年9月6日星期一

删除链表

/**************************************************************************************
    80   *
    81   * 函数功能:删除链表
    82   * 传入参数:链表的首节点
    83   * 返回值:无
    84   *
    85   *************************************************************************************/
    86  void delList(NODE** pHead)
    87  {
    88      NODE* p=*pHead;
    89      if (NULL==p) {      /*如果链表为空(即链表还没有创建)*/
    90          DEBUG("in delList, *pHead is NULL");
    91          return ;        /*什么都不做,返回主函数*/
    92      }
    93
    94      NODE* pNext=p->next;  
    95
    96      while(p!=NULL ) {   /*遍历链表*/
    97          free(p);        /*释放元素*/
    98          p=pNext;        /*指向下一个元素*/
    99          if (p!=NULL) {          
   100              pNext=p->next;
   101          }
   102      }
   103      *pHead=NULL;        /*清除链表的首节点*/
   104
   105      DEBUG("delList success!\n");
   106  
   107  }

没有评论:

发表评论