已知指针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;
时间:2022-09-26 16:39:47
所属题库:数据结构题库
相似题目
-
在具有头结点的单链表中,头指针指向链表的第一个数据结点。
A . 正确
B . 错误
-
单链表形式的队列,头指针F指向队列的第一个结点,尾指针R指向队列的最后一个节点。
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;
-
设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。
-
设有一个单向循环链表,结点的指针域为next,头指针为head,指针p指向表中某结点,若逻辑表达式()的结果为真,则p所指结点为尾结点。
-
在一个单链表中,若将p所指结点从链表中移除,q已指向其前驱结点,则执行( )。
-
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?<img src='https://img2.soutiyun.com/ask/uploadfile/1734001-1737000/26a11eb6abbe69402bfa49f867b360d4.jpg' />
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;
-
单向链表的每一个结点都有一个指向它的后续结点的指针link,现有结点p和q,结点q在结点p的前面,要删除结点p,正确的操作应该是
A.q↑. link:=p↑. link;
B.p ↑. link:= q ↑. link;
C.q↑. link:=p; p↑. link:=q;
D.q:=p↑. link; p↑. link:= q ↑. link;
-
在一个单链表中,若要删除由指针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
-
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插人到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?<img src='https://img2.soutiyun.com/shangxueba/ask/2037001-2040000/2037661/ct_ctabm_chdbbchoose_06489(20092).jpg' />
A.q:=p^. link; p^.Link:=q^.link;
B.p^.link:=q^.1ink; q:=p^.1ink;
C.q^.link:=p^.link; p^.1ink:=q;
D.p^.1ink:=q; q^.link:=p^.link;
-
单向链表的每一个结点都有一个指向它的后续结点的指针link,现有结点p和q,要将结点q插入结点p的后面,正确的操作应该是________。
A.q^.link:=p^.link; p^.link:=q;
B.q:=p^.link; p^.link:=q^.link;
C.q^.link:=p; p^.link:=q;
D.q:=p^.link; p:=q^.link
-
在一个单链表中,若在指针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 ;
-
设单链表中节点的结构为(data,link)。已知指针q所指节点是指针P所指节点的直接前驱,若在*q与*p之间插入节点*s,则应执行下列哪一个操作?
A.s↑.link=p↑.link; p↑.link:=s
B.q↑.link;=s; s↑.link:=p
C.p↑:link:=s↑.link; s↑.link=p
D.p↑.link=s; s↑.link:=q
-
2、对于一个非空的循环单链表,若头指针为head,假设指针myrear指向表中的最后一个结点,如果要在非空的循环单链表的最前面插入一个新结点p,则执行()。
A.p->next=head;myrear->next=p;head=p;
B.head->next=p;myrear->next=p;head=p;
C.myrear->next=p;head=p;head->next=p;
D.myrear->next=p;head=p;p->next=head;
-
在一个单链表中,已知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;
-
在一个表头指针为HL单链表中,若要向表头插入一个由指针p指向的结点,则执行()。
A.HL=p; p一>next=HL;
B.p一>next=HL;HL=p;
C.p一>next=Hl; p=HL;
D.p一>next=HL一>next; HL=p;
-
两个指针P和Q,分别指向单链表的两个结点,P是Q的前驱结点的条件是()。
A.P->next==Q->next
B.P->next==Q
C.Q->next==P
D.P==Q
-
在一个单链表HL为表头指针中,若要删除由指针p所指向结点的后继结点,则执行
A.q=p->next;q->next=p->next;
B.q=p->next;p->next=q;
C.q=p->next;p->next=q->next;
D.p->next=p->next->next;p->next=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指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()
A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p->next-p
-
4、假设在长度大于1的循环单链表中,既无头结点也无头指针,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);
-
单链表的每个结点中包括一个指针next,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的()
A.q->next=p->next;p->next=q;
B.p->next=q->next;q=p->next
C.p->next=q;q->next=p->next;
D.q=p->next;p->next=q->next;
-
2、已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:________