若L是一个双向链表,P结点既不是首结点,也不是尾结点。在P结点前插入S结点的语句是(21)。
A.
B.
C.
D.
第1题:
若L是一个无表头结点的单链表,P结点既不是首结点,也不是尾结点。删除P结点的后继结点的语句是(57)。
A.P→ next = P→next→next; Q=P→next; free(Q);
B.Q = P → next; P → next = P → next→next; free(Q);
C.P → next → next = P → next; Q = P → next; free(Q);
D.Q = P → next; P → next → next = P→next; free(Q);
第2题:
在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行()
A.s→next = p→next; p→next = s;
B.p→next = s; s→next = q;
C.p→next = s→next; s→next = p;
D.q→next = s; s→next = p;
第3题:
在单链表中,若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;
第4题:
已知指针p指向链表L中的某一个结点,且p指向的结点不是链表L中最后一个结点,此时若在p结点之后插入指针s指向的结点,则应执行操作为().
A.s->next=p; p=p->next=s;
B.p->next=s; s->next=p;
C.s->next=p->next; p=s;
D.s->next=p->next; p->next=s;
第5题:
已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。编写尽量高效的算法,在P结点之前插入元素e。