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

DS-单链表:初始化单链表

Posted on 2023-02-16 00:54  乔55  阅读(48)  评论(0编辑  收藏  举报

一、初始化顺序表

代码

/// @mybrief 初始化单链表
/// @param plist:链表结构指针
/// @return status:返回初始化结果
/// @retval ERROR(0):链表不存在,不可操作
/// @retval ERR_OVERFLOW(-2):创建头结点失败,初始化失败
/// @retval OK(1):初始化成功
/// @attention 内部实现函数的开参是二指指针
status xxx_init(myLinkList* plist)
{
    if (plist == NULL)
    {
        return ERROR;
    }
    return xxx_init_(&plist->phead);
}
status xxx_init_(myLNode** phead)
{
    /// 创建头结点
    myLNode* p = (myLNode*)malloc(sizeof(myLNode));
    if (p == NULL)
    {
        return ERR_OVERFLOW;
    }
    memset(p, 0, sizeof(p));
    p->pnext = NULL;
    *phead = p;
    return OK;
}