C语言实现链表之双向链表(十二)判断链表是否为空和获取链表长度

来源:互联网 发布:spark安装windows 编辑:程序博客网 时间:2024/06/05 11:58

C语言实现链表之双向链表(十二)判断链表是否为空和获取链表长度


    上一篇文章给出了设置结点数据与获取结点数据的两个函数,本篇文章将给出判断链表是否为空和获取链表长度的函数,共两个函数。

/*============================================================================== *   操作  :检查链表是否为空*   操作前:pHeadNode为链表的头指针*   操作后:如果链表为空,则返回TRUE,否则返回FALSE==============================================================================*/C_Bool CheckMyListEmpty(MyListNode* pHeadNode){    if(pHeadNode == NULL)    {        printf("The list is empty.\n");        return TRUE;    }    else    {        printf("The list is no empty.\n");        return FALSE;    }}/*============================================================================== *   操作  :获得链表的长度*   操作前:pHeadNode为链表的头指针*   操作后:返回链表的长度==============================================================================*/int GetMyListLen(MyListNode* pHeadNode){    MyListNode* pListNodeTmp = pHeadNode;    int iLen = 0;    // 判断是否有链表输入    if(pHeadNode == NULL)    {        fprintf(stderr, "There is no list.\n");        return -1;    }    // 获得长度    while(pListNodeTmp != NULL)    {        iLen++;        pListNodeTmp = pListNodeTmp->pNextNodeAddr;    }    return iLen;}

    这两个函数比较简单,对于常见的错误处理以及布尔变量此处不再过多去说,大家一看便知。
1 0
原创粉丝点击