在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行下面哪条语句?()
A.q->next=p->next;p=q
B.p->next=q->next;q=p
C.q->next=p->next;p->next=q
D.p->next=q->next;q->next=p
A.q->next=p->next;p=q
B.p->next=q->next;q=p
C.q->next=p->next;p->next=q
D.p->next=q->next;q->next=p
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=>next;p->next=q;
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;
A.s->next = p->next; p->next = s
B.q->next = s; s->next = p
C.p->next = s; s->next = q
D.p->next = s->next; s->next = p
A.p=q->nextp->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
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所指结点后插入结点q的操作是
A.q:=p↑.link;p↑.link:=q↑.link
B.p↑.link:=q↑.link;q↑.link:=p↑.link
C.q↑.link:=p;p↑.link:=q
D.q↑.linkl:=p↑.link;p↑.link:=q
A.q:=p↑.link;p↑.link:=q↑.link
B.p↑.link:=q↑.link;q↑link:=p↑.link
C.q↑.link:=p;p↑.link:=q
D.q↑.link:=P↑.link;p↑,link:=q
算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下:
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!