经典链表

HOT_TAB_INFO_LIST hot_creat_tab_list(U8 num)
{
    HOT_TAB_INFO_LIST head = NULL, prev = NULL, current = NULL;
    U8 index = 0;

    if(0 == num)
    {
        return NULL;
    }

    head = prev = current = (HOT_TAB_INFO_LIST)hot_mem_malloc(sizeof(HOT_TAB_INFO_NODE));
    head->prior = NULL;
    index++;

    while(index != num)
    {
        prev = current;
        current = (HOT_TAB_INFO_LIST)hot_mem_malloc(sizeof(HOT_TAB_INFO_NODE));
        if(NULL == current)
        {
            return NULL;
        }
        prev->next = current;
        current->prior = prev;
        index++;
    }

    head->prior = current;
    current->next = head;
    return head;
}

//删除链表
  while(current != NULL)
        {
            /*逐一释放链表中所有的空间*/
            if(current->next != current)
            {
                node = current;
                prev = current->next;
                current->prior->next = current->next;
                current->next->prior = current->prior;
                current = prev;

                if(node->namePtr != NULL)
                {
                    hot_mem_free((void *)node->namePtr);
                    node->namePtr = NULL;
                }
                if(node->urlPtr != NULL)
                {
                    hot_mem_free((void *)node->urlPtr);
                    node->urlPtr = NULL;
                }
                if(node != NULL)
                {
                    hot_mem_free((void *)node);
                    node = NULL;
                }
            }
            else
            {
                if(current->namePtr != NULL)
                {
                    hot_mem_free((void *)current->namePtr);
                    current->namePtr = NULL;
                }
                if(current->urlPtr != NULL)
                {
                    hot_mem_free((void *)current->urlPtr);
                    current->urlPtr = NULL;
                }
                if(current != NULL)
                {
                    hot_mem_free((void *)current);
                    current = NULL;
                }
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值