一个数据结构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;
这是第二题的答案,但我也不理解,
对指针的理解我很混乱,请详细对此问题解释一下,谢谢 展开
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;
这是第二题的答案,但我也不理解,
对指针的理解我很混乱,请详细对此问题解释一下,谢谢 展开
2个回答
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
这是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
懂了没?
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
懂了没?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询