一、单链表头删法
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;
}