-
在单链表中,给定任一结点的地址p,则可用下述语句将新结点s插入结点p的后面:p->next;
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和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;
-
在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。
A、O(nlog2n)
B、O(1)
C、O(n)
D、O(n2)
-
若要将一个单链表中的元素倒置,可以借助()建立单链表的思想将链表中的结点重新放置。
-
在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的算法的时间复杂度为 。
-
在一个单链表中的P所指结点之前插入一个s所指结点时,可执行如下操作① s->next=_______② p->next=s;③ t=p->data;④ p->data=______;⑤ s->data=t;
-
设单链表中指针p指向结点A,若要删除A之后的结点(若存在),则需修改指针的操作为________。
-
在单链表中某P结点后插入S结点的操作是( )。
-
设指针变量p指向单链表中结点A,指针变量s指向被插入的结点X,则在结点A的后面插入结点X需要执行的语句序列:s->next=p->next; _________________;。
-
设单链表中结点的结构为(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;
-
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;
-
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);
-
设指针p指向单链表中结点A,指针s指向被插入的结点X,则在结点A的前面插入结点X时的操作序列为: 1) s->next=___________;2) p->next=s;3) t=p->data; 4) p->data=___________;5) s->data=t;
-
在一个单链表中,已知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;
-
2、从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,需要比较 个结点。
A.n
B.n/2
C.(n-1)/2
D.(n+1)/2
-
在一个单链表中,已知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
-
在一个单链表中,已知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);
-
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;