若L是一个双向链表,P结点既不是首结点,也不是尾结点。在P结点前插入S结点的语句是(21)。A.B.C.D.

题目

若L是一个双向链表,P结点既不是首结点,也不是尾结点。在P结点前插入S结点的语句是(21)。

A.

B.

C.

D.


相似考题
更多“ 若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);


    正确答案:B
    解析:Q=P→next将P的后结点先记录下来;P→next=P→next→next是将P新的后结点定义为P后继结点的后继结点。free(Q)是将P原来的后继结点释放。

  • 第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;


    q→link = s; s→link = 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;


    s - >next=p - >next; p->next=s;

  • 第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;


    s->next=p->next; p->next=s;

  • 第5题:

    已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。编写尽量高效的算法,在P结点之前插入元素e。


    p-> next = L; L = p;