在一个单链表中,已知q所指结点是p所指结点的后继结点,若在p和q之间插入结点s,则执行()。
A.s->next=p->next;p->next=s;
B.p->next=s->next; s->next=q;
C.q->next=s;s->next=p;
D.p->next=s;s->next=q->next;
时间:2023-10-21 16:01:47
相似题目
-
从单链表中删除指针s所指结点的下一个结点t,其关键运算步骤为()。
A . s↑眑ink:=t
B . t↑眑ink:=s
C . t↑眑ink:=s↑眑ink
D . s↑眑ink:=t↑眑ink
-
双向循环链表中,p指向表中某结点,则通过p可以访问到p所指结点的直接后继结点和直接前驱结点。
A . 正确
B . 错误
-
在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行()
A、p->next=q->next; q->next=p;
B、q->next=p->next; p=q;
C、p->next=q->next; p->next=q;
D、q->next=p->next; p->next=q;
-
在单链表L中,指针P所指的结点有后继结点的条件是()。
-
已知指针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;
-
双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在p所指结点后插入q所指的新结点,下列哪一个操作序列是正确的?()
A . p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑.rlink;
B . p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;
C . q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q;
D . q↑.rlind:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;
-
在单链表中删除结点p(p不是最后一个结点)的后继的语句是( )
-
在非空线性链表中由 p 所指结点的后面插入一个由 q 所指的结点,应依次执行 ( )
-
在一个单链表中,若将p所指结点从链表中移除,q已指向其前驱结点,则执行( )。
-
在一个单链表中的P所指结点之前插入一个s所指结点时,可执行如下操作① s->next=_______② p->next=s;③ t=p->data;④ p->data=______;⑤ s->data=t;
-
双链表的每个结点包括两个指针域。其中rlink指向结点的后继,llink指向结点的前驱。如果要在P所指结点后插入q所指的新结点,下列()操作序列是正确的。
<img src='https://img2.soutiyun.com/ask/uploadfile/2556001-2559000/9d639ef43995270f0e92b86452297bf9.jpg' />
-
假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。 StatusListDelete_CL(LinkList &S) { LinkList p,q; if(S==S->next)return ERROR; q=S; p=S->next; while(){ q=p; p=p->next; } q->next=p->next; free(p); return OK; }
A.p->next!=S
B.p->next==S
C.p!=S
D.p==S
-
在一个单链表中删除p所指结点时,应执行以下操作: q=p一>next; p一>data=p一>next一>data; p一>next=_______; free(q);
-
设单链表中结点的结构为(data, next)。已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行的操作是
-
在一个单链表中,若要删除由指针q所指向结点(若q存在后继结点的话),则执行()操作。
A.p=q->next,p->next=q->next,交换p、q所指结点的数据域的值
B.p=q->next,q->next=p,交换p、q所指结点的数据域的值
C.p=q->next交换p、q所指结点的数据域的值q->next=p->next
D.q->next=q->next->next,q->next=q
-
在一个单链表中,若在指针p所指结点之后插入指针s所指结点,则相应的语句为()
A.s->next=p; p->next=s;
B.s->next=p->next; p->next=s;
C.s->next=p->next; p=s;
D.p->next=s; s->next= p->next ;
-
在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行(43)。A.s->link=p->link
在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行(43)。
A.s->link=p->link; p->link=s;
B.p->link=s; s->link=q;
C.p->link=S->link;s->link=p;
D.q->link=s;s->link=p;
-
在单链表中,删除p所指结点的直接后继的操作是()A.p—>next=p—>next—>next;B.p=p—>next;p—>next=p—
在单链表中,删除p所指结点的直接后继的操作是 ()
A.p—>next=p—>next—>next;
B.p=p—>next;p—>next=p—>next—>next;
C.p—>next=p—>next;
D.p=p—>next—>next;
-
2、在一个带头结点的单链表中,若 head 所指结点是头结点,若要删除第一个实际元素结点,则执行()。
A.p=head->next;head->next=p->next;free(p);
B.p=head;free(p);head=head->next;
C.head=head->next;p=head;free(p);
D.p=head;head=head->next;free(p);
-
在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入结点s,则执行()
A.s->next=p->next;p->next=s;
B.p->next=s->next; s->next=p;
C.q->next=s;s->next=p;
D.p->next=s;s->next=q;
-
在一个单链表中,若p所指的结点不是最后结点,则删除p所指的结点的后继结点的正确操作是()
A.p=p->next
B.p->next=p->next
C.p->next=p->next->next
D.p->next=p
-
在一个单链表中,已知q所指节点是p所指结点的直接前驱,若要删除p结点,则执行()操作。
A.q=p->next;free(p);
B.q->next=p->next;free(p);
C.q=p;p->next=p->next;free(q);
D.p->next=q->next;free(p);
-
在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为()。
A.O(n)
B.O(n/2)
C.O(1)
D.O(n2)
-
1、在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入结点s,则执行()。
A.s->next=p->next;p->next=s;
B.p->next=s->next; s->next=p;
C.q->next=s;s->next=p;
D.p->next=s;s->next=q;