设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列()操作。A.s->next=p->next;p->next=s;B.q->next=s;s->next=p;C.p->next=s->next;s->next=p;D.p->next=s;s->next=q;

题目

设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间插入结点*s,则应执行下列()操作。

A.s->next=p->next;p->next=s;

B.q->next=s;s->next=p;

C.p->next=s->next;s->next=p;

D.p->next=s;s->next=q;


相似考题
参考答案和解析
正确答案:B
更多“设线性链表中结点的结构为(data,next)。已知指针q所指结点是指针结点p的直接前驱,若在*q与*p之间 ”相关问题
  • 第1题:

    1、设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。

    A.q=p->next;p->next=q->next;free(q);

    B.q=p->next; p->next=q->next;

    C.p->next=p-> next->next;

    D.q=p->next;p->data=q->data;free(q);


    p->next=s

  • 第2题:

    设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。

    A.q=p->next;p->next=q->next;free(q);

    B.q=p->next; p->next=q->next;

    C.p->next=p-> next->next;

    D.q=p->next;p->data=q->data;free(q);


    A

  • 第3题:

    设单链表中结点的结构为(data, next)。已知指针q所指点是指针p所指结点的直接前驱,若在q与p之间插入结点s,则应执行下列()操作。

    A.s->next=p->next; p->next=s

    B.q->next=s; s->next=p

    C.p->next=s->next; s->next=p

    D.p->next=s; s->next=q


    s = rear->next->next; rear->next->next = s->next; free(s);

  • 第4题:

    设指针变量p指向单链表中结点A的直接前驱,若删除单链表中结点A,则需要修改指针的操作序列为()。

    A.q=p->next;p->next=q->next;free(q);

    B.q=p->next; p->next=q->next;

    C.p->next=p-> next->next;

    D.q=p->next;p->data=q->data;free(q);


    q=p->next ;p->next=q->next;delete q;

  • 第5题:

    假设某个单向循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表中某个结点的指针,试编写算法在链表中删除指针s所指结点的前驱结点。 StatusListDelete_CL(LinkList &S) { LinkList p,q; if(S==S->next)return ERROR; q=S; p=S->next; while(){ q=p; p=p->next; } q->next=p->next; free(p); return OK; }

    A.p->next!=S

    B.p->next==S

    C.p!=S

    D.p==S


    1.p—>next!=s2.p=p—>next3.s(或p—>next) 1.p—>next!=s2.p=p—>next3.s(或p—>next)