在一个单链表中,若p所指的结点不是最后结点,在p之后插入s结点,则执行()

A、s->next=p;p->next=s.B.s->next=p->next;p=s.C.s->next=p->next;p->next=s.D.p->next=s;s... A、s->next=p;p->next=s. B.s->next=p->next;p=s.
C. s->next=p->next;p->next=s. D.p->next=s;s->next=p.
详细解释!谢谢!
展开
 我来答
当代教育科技知识库
高能答主

2019-10-30 · 擅长科技新能源相关技术,且研究历史文化。
当代教育科技知识库
采纳数:1828 获赞数:387385

向TA提问 私信TA
展开全部

首先的保证p后面的一个节点不能断掉,应为是单链表,所以p后面的节点先要与新插入的s相连,s->next = p->next。在把p的next指针指向s。

链接方式存储的线性表简称为链表(Linked List)。链表的具体存储表示为:用一组任意的存储单元来存放线性表的结点(这组存储单元既可以是连续的,也可以是不连续的)链表中结点的逻辑次序和物理次序不一定相同。

为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))链式存储是最常用的存储方式之一,它不仅可用来表示线性表,而且可用来表示各种非线性的数据结构。


扩展资料:

C语言创建单链表如下:

#include"stdio.h"

#include"stdlib.h"

#include"malloc.h"

#include "iostream.h"

typedef struct node

{

int  data;

node * next;

}node , * List;

void create(int n)

{

int c;

List s,L;

L=(List)malloc(sizeof(node));

L->next=NULL;

printf("请输入第1个数据:");

scanf("%d",&c);

L->data=c;

for(int i=2;i<=n;i++)

{

s=(List)malloc(sizeof(node));

printf("请输入第%d个数据:",i);

scanf("%d",&c);

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

ruanbanyong
推荐于2017-11-26 · TA获得超过200个赞
知道答主
回答量:82
采纳率:0%
帮助的人:63.3万
展开全部
C是正确的,首先的保证p后面的一个节点不能断掉,应为是单链表,所以p后面的节点先要与新插入的s相连,s->next = p->next
然后在将s与p相连
p->next= s
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
q2752126
2008-08-19 · 超过25用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:91.9万
展开全部
答案是c,
s->next=p->next的意思是s在p->next的结点前面了,
p->next=s的意思是s在p结点的后面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4760e14
2008-08-19 · TA获得超过164个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:252万
展开全部
C
p 不是最后结点的话,,要进行两种操作。。

先把s的next指针指向和p的next指针

在把p的next指针指向s。。

画一下图就非常明白这样的题。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgedev
2008-08-19 · TA获得超过1030个赞
知道小有建树答主
回答量:460
采纳率:0%
帮助的人:635万
展开全部
d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式