单链表的插入和删除操作中,为什么要用指向指针的指针?

发布于 2022-09-02 19:55:38 字数 508 浏览 14 评论 0

在单链表的中为什么要用指向指针的指针呢??为什么不直接用Linklist L呢??是因为函数是引入变量修改的是副本的原因吗?

Status LinkInsert(Linklist *L, int i, Elemtype e )
{
    int j;                                
    Linklist p, s;
    p = *L;
    j = 1;
    while (p && j < i)
    {
         p = p->next;
        ++j;
    }        
    if (!p || j > i)
        return ERROR;
    s = (Linklist ) malloc ( sizeof (Node) );
    s->data = e;
    s->next = p->next;
    p->next = s;
    return OK;
    
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

红颜悴 2022-09-09 19:55:38

一个是地址,一个是复制副本的原因

原谅我要高飞 2022-09-09 19:55:38

好好看下c语言的基础部分:
1.形参与实参
2.指针

℉服软 2022-09-09 19:55:38

传入一级指针如果只是删除添加除头结点以外的结点是可以的,但是删除和插入有可能需要修改头结点,这时需要传入二级指针来修改指向头结点的指针指向的位置。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文