| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 444 人关注过本帖
标题:递归删除,求改错!
取消只看楼主 加入收藏
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
结帖率:100%
收藏
已结贴  问题点数:17 回复次数:4 
递归删除,求改错!
删除 不带头结点 的单链表 中 数据域 为x的全部结点
递归实现,求改错!!
void delete_linklist(linklist *L,int x)
{
    linklist *p;
    if(L==NULL)
        return;
    else if(L->data==x)
    {
        p=L;
        L=L->next;
        free(p);
        delete_linklist(L,x);
    }
    else
        delete_linklist(L->next,x);
}
搜索更多相关主题的帖子: return 
2013-11-10 13:31
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
收藏
得分:0 
回复 2楼 azzbcc
这个递归实现的就是一直判断首节点是否满足删除条件 如果满足,则删除首节点,如果不满足,则让 head->next作为参数,进行再次调用本函数,再次判断首节点是否满足删除条件,所以这个过程一直实现的是删除首节点,不就是
        p=L;
        L=L->next;
        free(p);(删除首节点)吗?(L为首节点)
2013-11-10 14:55
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
收藏
得分:0 
回复 2楼 azzbcc
哦哦,我知道了,就是这错了,谢谢
2013-11-10 15:33
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
收藏
得分:0 
回复 2楼 azzbcc
版主,我是真写不对了,再指点我一下吧。。。。。。。。
2013-11-10 16:12
爱编聪聪
Rank: 2
等 级:论坛游民
帖 子:26
专家分:20
注 册:2013-9-16
收藏
得分:0 
回复 2楼 azzbcc
嗯嗯,我知道怎么改了,谢谢
2013-11-11 23:22
快速回复:递归删除,求改错!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019387 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved