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

2024-11-03 05:17:38
推荐回答(5个)
回答(1):

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。

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

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

回答(2):

A s->next=p->next; p->next=s; B q->next=s; s->next=p;
C p->next=s->next; s->next=p; D p->next=s; s->next=q;

回答(3):

你是题干打反了吧,明明是p是q的直接前驱,答案才有比较

回答(4):

p->next=s->next;s->next=p

回答(5):

dui