在一单链表中,已知q所指的结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行( )。

答案是(p->next=s->next;s->next=p)。详细解释一下!谢谢!正确答案是:q->next=s;s->next=p... 答案是( p->next=s->next;s->next=p )。详细解释一下!谢谢!
正确答案是: q->next=s;s->next=p
展开
 我来答
112hm
高粉答主

2018-11-24 · 每个回答都超有意思的
知道小有建树答主
回答量:911
采纳率:0%
帮助的人:34.2万
展开全部

q->next表示结点中存放的指针,该指针用来指向某个结点。

原来的连接关系是q->next=p,意思是q中存放的指针的值是p,即q指向p。

比如:原来排队p在q的后面,现在要插一个s在他们中间,需要做的事就是把原来p,q二人的联系转化为p,s,q三人的联系,先让p指向s,即q->next=s;然后让s指向q,即s->next=p。

扩展资料:

单链表链接存储方法

链接方式存储的线性表简称为链表(Linked List)。

链表的具体存储表示为:

① 用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)

② 链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))

链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。

头指针head和终端结点

单链表中每个结点的存储地址是存放在其前趋结点next域中,而开始结点无前趋,故应设头指针head指向开始结点。链表由头指针唯一确定,单链表可以用头指针的名字来命名。

终端结点无后继,故终端结点的指针域为空,即NULL。

参考资料来源:百度百科--单链表

参考资料来源:百度百科--结点

Wizard911
2008-08-19 · TA获得超过125个赞
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
q->next表示结点中存放的指针,该指针用来指向某个结点
原来的连接关系是q->next=p,意思是q中存放的指针的值是p,即q指向p

插入的意思,打个比方,原来排队p在q的后面,现在要插一个s在他们中间,需要做的事就是把原来p,q二人的联系转化为p,s,q三人的联系,先让p指向s,即q->next=s;然后让s指向q,即s->next=p

不知这样的解答可否满意?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q2752126
2008-08-19 · 超过25用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:91.9万
展开全部
答案错了,s开始时不是没有进来这些链表中吗,怎么能赋值给q->next呢,答案是
s=q->next;p=p->next;s->next=p;
q所指的结点是p所指结点的前驱结点,那么q是排在p前面,那么就是把q的下一个结点赋给s(s=q->next),但是由于s进入,则p的结点要向后面移动一位,所以
p=p->next,最后要把s的后面一位和p接上,所以s->next=p
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shidingneng
2008-08-19 · TA获得超过716个赞
知道答主
回答量:162
采纳率:0%
帮助的人:158万
展开全部
q所指的结点是p所指结点的前驱结点;
据以上题意,q是p的前趋接点但不是直接前趋接点,
执行q->next=s;s->next=p;它可以在q和p之插入s结点,但原q和p之间的结点被去掉了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whycsk
2008-08-19
知道答主
回答量:17
采纳率:0%
帮助的人:15.7万
展开全部
答案应该是 q->next=s,s->next=p吧
q所指的结点是p所指结点的前驱结点,那么q是排在p前面
你插入的s节点应该只有一个 怎么还要把s->next赋值给p->next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式