鱼C论坛

 找回密码
 立即注册
查看: 2971|回复: 4

求指教 链表删除

[复制链接]
发表于 2014-10-30 11:10:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Listdelete(Linklist *L,int i,Elemtype *e))
{
    Linklist p;
    int j;
    p = *L;
    while( p != NULL && j<i)
    {
        p = p->next;
        j++;
    }
    if(!p || j>i)
    {
        return ERROR;
    }
    *e = p->data;        //遍历到第i个结点  将这个结点的值赋给e
    p->next = p;        //这样算不算将它的下一个结点代替了这个结点  不算的话  求给出为什么  实在不是很明白  求大神帮忙  谢谢了
    free(p);
    return OK;
   
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2014-10-30 19:44:05 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-30 19:46:19 | 显示全部楼层

其实我是在提问
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-30 20:26:00 | 显示全部楼层
应该是让P指向i-1的位置,然后*e=p->next->date; p->next=p->next->next;
如果按你这样写会使得会使得i位置处出现断链。而且程序中如果遍历到达链尾要做特殊处理哟。。。{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-30 21:18:25 | 显示全部楼层
yjnyjn123456 发表于 2014-10-30 20:26
应该是让P指向i-1的位置,然后*e=p->next->date; p->next=p->next->next;
如果按你这样写会使得会使得i位 ...

终于看明白了  谢谢了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 02:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表