1、双向链表中有2个指针域pre和next,分别指向直接前驱和直接后继,假设有指针p指向链表中的一个结点,指针q指向一个待插入的结点,现在要求在p的前面插入q所指结点,则正确的插入语句为()A.p->pre=q;q->next=p;p->pre->next=q;q->pre=p->pre;B.q->pre=p->pre;p->pre->next=q;q->next=p;p->pre=q->next;C.q->next=p;p->next=q;p->pre->next=q;q->next=p;D.p->pre->next=q; q->next=p; q->pre=p->pre;p->pre=q;
1、双向链表中有2个指针域pre和next,分别指向直接前驱和直接后继,假设有指针p指向链表中的一个结点,指针q指向一个待插入的结点,现在要求在p的前面插入q所指结点,则正确的插入语句为()
A.p->pre=q;q->next=p;p->pre->next=q;q->pre=p->pre;
B.q->pre=p->pre;p->pre->next=q;q->next=p;p->pre=q->next;
C.q->next=p;p->next=q;p->pre->next=q;q->next=p;
D.p->pre->next=q; q->next=p; q->pre=p->pre;p->pre=q;
参考答案和解析
A 此题考查的知识点是双向链表的插入操作。在p前插入要修改p的prior指针,p的prior所指结点的next指针,所以选A。B、C、D都将使地址丢失,连接失败。
相关考题:
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的单链表结点之后,下面的操作序列中正确的是( )A)q;=p↑.link;p↑.link:=q↑,link;B)p↑.link.q↑.link;q:=p↑.link;C)q↑.link::p↑.link;P↑.link:=q;D)P↑.link:=q;q↑.link:=p↑.link;
要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行 p->next=s; s->next= p->next;的操作。() 此题为判断题(对,错)。
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针x指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。 A、q->next=x->next;x->next=p;B、s->next=p;q->next=x->next;C、p->next=x->next;x->next=p;D、x->next=q;p->next=x->next;
在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行下面哪条语句?( )A.q->next=p-next;p=qB.p->next=q->next;q=pC.q->next=p->next;p->next=qD.p->next=q->next;q->next=p
在一个单链表HL中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行____。A.q一>next=p一>next;p一>next=q;B.q一>next=p一>next;p一>next=q;C.p一>next=q一>next;q=p;D.p一>next=q一>next;q一>next=p;
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?A.q:=p↑.link; p↑.link:=q↑.link;B.p↑.link:=q↑.link; q:=p↑.link;C.q↑.link:=p↑.link;p↑link:=q;D.p↑.link:=q; q↑.link:=p↑.link;
设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。A.p->next=s;s->next=q;B.q->next=s;s->next=p;C.p->next=s->next;s->next=p;D.s->next=p->next;p->next=-s;
单向链表的链域为next,设指针p指向单向链表中的某个结点,指针S指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next==s;s-next==p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写。
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。A、q-next=s-next;s-next=p;B、s-next=p;q-next=s-next;C、p-next=s-next;s-next=q;D、s-next=q;p-next=s-next;
在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()A、 p->next=s;s->next=qB、 q->next=s;s->next=pC、 S->next=p->next;p->next=sD、 p->next=s->next;s->next=q
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。已知p1指向另一个新结点,把它插入到p所指结点和尾结点之间。
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。
在一个头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。A、p->next=q->next;q=pB、p->next=q->next;q-next=pC、q->next=p->next;p->next=qD、q->next=p->next;p->next=q->next
单选题在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()A p->next=s;s->next=qB q->next=s;s->next=pC S->next=p->next;p->next=sD p->next=s->next;s->next=q
单选题在一个头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。Ap->next=q->next;q=pBp->next=q->next;q-next=pCq->next=p->next;p->next=qDq->next=p->next;p->next=q->next
单选题已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。Aq-next=s-next;s-next=p;Bs-next=p;q-next=s-next;Cp-next=s-next;s-next=q;Ds-next=q;p-next=s-next;
问答题设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?
问答题设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。
问答题设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。已知p1指向另一个新结点,把它插入到p所指结点和尾结点之间。
填空题设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。