• 2022-06-16
    已知带头结点的链队列指针Q,则该队列做新元素结点s进队操作的语句是( )
    A: Q->rear->next=s; Q->rear=s;
    B: s->next=Q->front->next; Q->front->next=s;
    C: Q->next=s;Q=s;
    D: s->next=Q->next ;Q->next=s;
  • A

    举一反三

    内容

    • 0

      设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( )。 A: q=p->next;p->data=q->data;p->next=q->next;free(q) B: q=p->next;q->data=p->data;p->next=q->next;free(q) C: q=p->next;p->next=q->next;free(q) D: q=p->next;p->data=q->data;free(q)

    • 1

      链队列Q的头指针为front,尾指针为rear,下面哪个选项可以完成链队列的出队操作()。 A: p->Q->front;Q->front=p;free(p); B: p->Q->front;Q=p->next;free(p); C: p->Q->front;Q->front=p->next;free(p); D: p->Q->rear;Q->front=p->next;free(p);

    • 2

      在一个单链表中,已知*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;

    • 3

      现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个结点。 struct node { char data; struct node *next; }*p,*q,*r; 现要将q和r 所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是______。 A: q->next=r->next;p->next=r;r->next=q; B: p->next=r;q->next=->next;r->next=q; C: q->next=r->next;r->next=q;p->next=r; D: r->next=q;p->next=r;q->next=r->next;

    • 4

      在一个单链表HL为表头指针中,若要在指针q所指的结点的后面插入一个由指针p所指的结点,则执行 ( )。 A: q->next = p->next ; p->next = q; B: p->next = q->next; q = p; C: q->next = p->next; p->next = q; D: p->next = q->next ; q->next = p;