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);
举一反三
- 设指针变量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)
- 在一个双链表中,在P结点之后插入结点q的操作是()。 A: q->prior=p; p->next=q; p->next->prior=q;q->next=p->next; B: q->next=p->next; p->next->prior=q;p->next=q;q->prior=p; C: p->next=q;q->prior=p;q->next=p->next;p->next->prior=q; D: q->prior=p;p->next=q;q->next=p->next;p->next->prior=q;
- 在一个长度为n(n≥1)的双链表中,在p所指节点(非头节点)之前插入q所指节点的操作是( )。 A: p->prior=q; q->next=p; p->prior->next=q; q->prior=p->prior; B: q->prior=p->prior; p->prior->next=q; q->next=p; p->prior=q->next; C: q->next=p; p->next=q; q->prior->next=q; q->next=p; D: p->prior->next=q; q->next=p; q->prior=p->prior; p->prior=q;
- 在一个单链表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;
- 假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是 A: A)free(q);p->next=q->next; B: B)(*p)、next=(*q)、next;free(q); C: C)q=(*q)、next;(*p)、next=q;free(q); D: D)q=q->next;p->next=q;p=p->next;free(p);
内容
- 0
在一个单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行(<br/>)。 A: q-><br/>next = p->next;p->next<br/>= q; B: p->next<br/>= q->next;q<br/>= p; C: q->next<br/>= p->next;p<br/>= q; D: p->next<br/>= q->next;q->next<br/>= p;
- 1
在双向链表存储结构中,删除p所指的结点时须修改指针() A: (p->prior)->next=p->next;(p->next)->prior=p->prior; B: p->prior=(p->prior)->prior;(p->prior)->next=p; C: (p->next)->prior=p;p->rlink=(p->next)->next; D: p->next=(p->prior)->prior;p->prior=(p->next)->next
- 2
设指针变量p指向单链表中某结点的直接前驱,若删除单链表中该结点,需要修改指针的操作序列为 。 A: q=p->next; p->next=q->next;free(q); B: q=p->next; free(q); C: p->next=p->next->next;free(p->next); D: q=p->next; free(q);
- 3
链队列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);
- 4
现有以下结构体说明和变量定义,如图所示,指针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;