已知指针p指向单链表L中的某结点,则删除其后继结点的语句是()。
A.p=p.next
B.p=null
C.p.next=null
D.p.next=p.next.next
A.p=p.next
B.p=null
C.p.next=null
D.p.next=p.next.next
已知带表头结点的非空单链表L,指针P指向L链表中的一个结点(非首结点、非尾结点),试从下列提供的答案中选择合适的语句序列。
a)P=P->next;
b)P->next=P;
c)P->next=P->next->next;
d)P=P->next->next;
e)while(P!=NULL)P=P->next;
f)while(Q->next!=NULL){P=Q;Q=Q->next;}
g)while(P->next!=Q)P=P->next;
h)while(P->next->next!=Q)p=p->next;
i)while(P->next->next!=NULL)P=P->next;
j)Q=P;
k)Q=P->next;
I)P=L;
m)L=L->next;
n)free(Q);
设单向链表中,指针p指向结点A,若要删除A的直接后继,则所需修改指针的操作为()。
A.p一>next=p→next一>next;
B. p=p一>next;
c. p=p一>next->next;
D.p一>next=p;
已知list是指向无头结点的单链表的指针变量,写出删除该链表中从下标为i的(第i+1个)结点开始的连续k个结点的算法。
在一个单链表中,已知指针p指向其中的某个结点,若在该结点前插入一个由指针s指向的结点,则需执行()。 【北京理工大学2006九、4(1分)】
A.s->next=p->next;p->next=s;
B.p->next=s;s->next=p;
C.r=p->next;p->next=s;s->next=r;
D.仅靠已知条件无法实现
A.s->next=p
B.s=p->next
C.s=p
D.s->next=p->next
设单链表中结点的结构为:
已知L是带表头的单链表,L是表头指针,则摘除首元结点的语句是(),
A、L-L->link;
B、L->link=L->link->link;
C、L=L->link->link;
D、L->link=L;
算法实现的思路为:在有序单链表中插入一个数据元素x,首先要找到该元素应该插入到什么位置,才能保证插入后的单链表仍为有序表。因此,算法的第一步是寻找x的位置:设置指针p、q,最初p指向头结点,q指向头结点的下一个结点,比较q所指数据域的值与x的大小,如果小于x,则p、q分别向后移动一个位置,使p始终作为q的前驱结点,然后重复上面的比较过程;如果比较结果大于x或是比较到最后单链表结束了,则找到了插入位置,在p与q之间插入结点x即可。算法的具体实现如下: