| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4849 人关注过本帖
标题:一个单向链表,不知道头结点,一个指针指向其中的一个结点,问如何删除这个 ...
只看楼主 加入收藏
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
别的方法我也想不到了,毕竟我们无法知道它的前趋,只能这么做了。

迭代的是人,递归的是神。
2011-08-25 10:00
zhcosin
Rank: 2
等 级:论坛游民
帖 子:29
专家分:77
注 册:2011-8-18
收藏
得分:6 
你这个问题我认为是不可能的。
1、如果你提供的结点指针指向链表在第一个结点,那么很简单,先让头指针指向第二个结点,再释放你提供的指针。
2、如果你提供的结点指针指向在结点不是头结点,那么只能释放此指针,但没有办法修改其前驱的指针域使其指向被删除结点的下一结点。这样的后果是链表被断成了两截,并有有悬垂指针的危险。
2011-08-25 18:10
gb5543925
Rank: 1
等 级:新手上路
帖 子:8
专家分:6
注 册:2012-2-24
收藏
得分:0 
回复 5楼 hahayezhe
你这种不看别人代码,不动脑子的人能赶紧离开这高智商的地方么? 这题应该是除了尾节点,其他节点都能删, 题目有漏洞很可能是出题人没有考虑周全。
2012-02-24 11:14
sdgtae4y
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-9-28
收藏
得分:0 
将这个节点的复制成下一个节点的值,然后删除下一个节点
node *p; // 当前节点
node *q;
q = p -> next;
p.data = q.data; // 复制q节点到p

p -> next = q -> next; // 删除q
free(q);
2012-09-28 12:41
快速回复:一个单向链表,不知道头结点,一个指针指向其中的一个结点,问如何删除 ...
数据加载中...
 
   



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

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