社区
其它技术问题
帖子详情
如何删除一个链表的节点?多谢!多谢!
kiluyar
2005-08-22 10:39:56
条件:
1,该链表为单向链表
2,一个指向将被删除的节点的指针p
3,只能用p来遍历该表
4,不知道表头表尾的位置(表无限长)
请指教,多谢!
...全文
550
16
打赏
收藏
如何删除一个链表的节点?多谢!多谢!
条件: 1,该链表为单向链表 2,一个指向将被删除的节点的指针p 3,只能用p来遍历该表 4,不知道表头表尾的位置(表无限长) 请指教,多谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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后一个连接起来
判断两个
链表
是否相交
如果存在公共
节点
,那么从这个公共
节点
开始,两个
链表
后续的所有
节点
都是相同的,因为单
链表
的每个
节点
只有
一个
指向下
一个
节点
的指针。如果遍历到
链表
末尾都没有找到相同的
节点
,则说明两个
链表
不相交。可以通过遍历...
无头单
链表
节点
的
删除
以及新
节点
之前的插入
想要理解这两种操作,我们首先需要了解的是什么事无头单
链表
,无头单
链表
就是指的没有头指针的
一个
单独
节点
。就好比我们永指针遍历
链表
一样,...我们知道,在
一个
链表
中,我们如果想要
删除
某
一个
节点
,我们首先需要知道
写出一段代码将
链表
中的两个
节点
位置互换位置_干货||
链表
的技巧和算法总结...
链表
的操作总结
链表
反转这是
一个
简单的
链表
操作问题,在leetcode上面有52.7%的通过率,难度是简单。但是还是想在这里基于python做一下总结,顺便总结一下
链表
的各种操作。首先先看一下leetcode上面的题目:反转
一个
...
链表
总结
链表
中的每
一个
节点
的数据类型为结构体类型,
节点
有两个成员:整型成员(实际需要保存的数据)和指向下
一个
结构体类型
节点
的指针即下
一个
节点
的地址(事实上,此单
链表
是用于存放整型数据的动态数组)。
链表
按此结构...
c语言双
链表
排序交换
节点
_新手虚心请问:C语言交换双
链表
内的两个结点位置,代码尽力写得规范了,大家帮忙,
多谢
...
C/C++ code#define TRUE 1;#define FALSE 0;//定义Employeetypedef struct{int id;char name[30];...//定义Employee
链表
结点结构typedef struct node{Employee* emp;//双向
链表
struct node* precede;st...
其它技术问题
3,882
社区成员
9,045
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章