如何删除一个链表的节点?多谢!多谢!

kiluyar 2005-08-22 10:39:56
条件:
1,该链表为单向链表
2,一个指向将被删除的节点的指针p
3,只能用p来遍历该表
4,不知道表头表尾的位置(表无限长)

请指教,多谢!
...全文
550 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
shan_cai 2005-09-12
  • 打赏
  • 举报
回复
明白了,原来是这个意思。的确惭愧。
shan_cai 2005-09-12
  • 打赏
  • 举报
回复
while(p->next)
{
p->data=p->next->data;
p=p->next;
}
delete p;

这样算是遍历整个链表了吗?那节点p前面的数据呢?
kiluyar 2005-09-05
  • 打赏
  • 举报
回复
这是我去一家外企的面试题目,当时没有回答出来,回来想了半天,还是不解。
在此向baiywcwttfln(A-De)表示感谢!
看到答案,觉得自己这么多年书都白学了!光死记了那些数据结构。。。。。。。
zhouhuahai 2005-09-03
  • 打赏
  • 举报
回复
晕,原来真有方法:

回复人: baiywcwttfln(A-De) ( ) 信誉:100 2005-09-03 21:48:00 得分: 0

while(p->next)
{
p->data=p->next->data;
p=p->next;
}
delete p;

这样就可以了.



看来偶的思维已经被定势所左右了,呵呵.
向baiywcwttfln(A-De)学习!


snowbirdfly 2005-09-03
  • 打赏
  • 举报
回复
这个题目不知道表头怎么能查找到指针P位置啊~?
zhouhuahai 2005-09-03
  • 打赏
  • 举报
回复
不好意思,没看清题,
原来还-----不知道表头位置且只有一个指向将被删除的节点的指针p而且是单向?

那只有两种可能了:
1.楼主给错了条件,应该要提供head指针或者是双向链表.
2.偶才疏学浅, 这题目太难,想不到方法来做了.闪人......
A-De 2005-09-03
  • 打赏
  • 举报
回复

while(p->next)
{
p->data=p->next->data;
p=p->next;
}
delete p;

这样就可以了.
zhouhuahai 2005-09-03
  • 打赏
  • 举报
回复
唉,随便找本数据结构的书看看就知道了.
最基本的操作...........
bingbox_1984 2005-09-03
  • 打赏
  • 举报
回复
不知道是不是我的水平不够
我觉得行不通,如果只有一个指针的 话
lujun-cc 2005-08-29
  • 打赏
  • 举报
回复
同意楼上,要是只有被删除的节点,而不知道前一节点的话,就不能删除!
shan_cai 2005-08-29
  • 打赏
  • 举报
回复
不知道上层节点这个点删掉链表就断掉了,题目有问题。不可能的。
yanglei5382 2005-08-27
  • 打赏
  • 举报
回复
xfgang的解答好象也有问题,
find_lklist(head, i-1)条件中并没有提供这个函数呀。
再有,p不是被删除的节点呀,删除的是q。
xfgang 2005-08-27
  • 打赏
  • 举报
回复
void delete_lklist(lklist head:int)
{
p=find_lklist(head,i-1);
if((p!=null)&&(p->next!=null))
{
q=p->next;
p->next=q-next;
free(q);
}
else error("不存在该p结点");
}
free是C语言的库函数,执行free(q)的结果是释放q所指结点占用的内存空间,
kiluyar 2005-08-27
  • 打赏
  • 举报
回复
题目说了,只能用一个指针,还有,怎么才能访问到p所指向的节点的上一个节点呢?是单向链表!
sirfarming 2005-08-22
  • 打赏
  • 举报
回复
不行,还需要一个指向上一个节点的指针p0,
p0->next=p->next;
free(p);
OpenHero 2005-08-22
  • 打赏
  • 举报
回复
来两个零时变量来存储 p前一个,p后一个
然后删除p指的那一个,然后把p前一个和p后一个连接起来

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧