一个数据结构C语言的基础理解问题

已知L是无表头结点的单链表,其中P结点既不是首元结点,也不是尾元结点.1)在P结点后插入S结点的语句序列是a)S^.next:=P^.nextb)P^.next:=S这是... 已知L是无表头结点的单链表,其中P结点既不是首元结点,也不是尾元结点.

1)在P结点后插入S结点的语句序列是
a)S^.next:=P^.next
b)P^.next:=S
这是问题的答案,但我不理解.
我想问其实只是b)步骤就OK啦,为什么要让S的下一个元素等于P的下一个,
如果是这样不就成了,在P结点后插入S的下一个元素?

2)在P结点前插入S结点的语句是
a)Q:=P //我理解定义一个Q是P
b)P:=L //让P指到表头
c)WHILE P^.next <> Q DO P:=P^.next //让P节点等于P NEXT那么不是等于原来的P吗????
d)S^.next = P^next
e)P^.next:=S
f)P:=Q;
这是第二题的答案,但我也不理解,
对指针的理解我很混乱,请详细对此问题解释一下,谢谢
展开
 我来答
百度网友a0622aeba
2008-07-07 · TA获得超过1703个赞
知道小有建树答主
回答量:1145
采纳率:0%
帮助的人:1576万
展开全部
1,如果按照你的方法原来P后面的节点就扔了
2,是让P指向原来P的前趋,实际上d)S^.next = P^next 改成S->next = Q一样
你可以把链表理解成带尾挂钩的小东东,想想怎么在一个点的前面后面接上原来零散的一个
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
素水云儿
2008-07-07 · TA获得超过149个赞
知道小有建树答主
回答量:317
采纳率:0%
帮助的人:0
展开全部
这是Pascal吧。。。
S^.next并不是S=S^.next...
假设P的下一个节点是Q
初始状态
P->Q

S
1)
P->Q
^
S--|
2)
P Q
| ^=>P->S->Q
S--|
第二题P=P^.next怎么会不变呢?
P->P^.next->P^.next^.next->P^.next^.next^.next
因为Q=P
P->P^.next->Q^.next^.next->Q^.next^.next^.next
P=P^.next=>P指向下一节点=>P->Q^.next^.next->Q^.next^.next^.next
懂了没?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式