博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DS-单链表:单链表头删法

Posted on 2023-02-16 01:17  乔55  阅读(81)  评论(0编辑  收藏  举报

一、单链表头删法

1、思路

  • 直接删除头结点的后继结点即可

2、代码

/// @brief 删除链表首元结点,即头删法
/// @param plist 链表指针
/// @return 返回是否删除成功标志
/// @retval ERROR(0):链表不存在或链表为空,不可操作
/// @retval OK(1):删除成功
status xxx_pop_front(myLinkList* plist)
{
    
    if (plist == NULL)
    {
        return ERROR;
    }
    return xxx_pop_front_(plist->phead);
}
status xxx_pop_front_(myLNode* phead)
{
    if (phead == NULL || phead->pnext == NULL)
    {
        return ERROR;
    }
    myLNode* pdel = phead->pnext;
    phead->pnext = pdel->pnext;
    pdel->pnext = NULL;
    free(pdel);
    pdel = NULL;
    return OK;
}