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;
举一反三
- 在一个单链表中,已知 q 是 p 的前趋结点,若在 q 和 p 之间插入结点 s ,则应当执行语句序列( )。 A: s -> next = p -> next; p -> next = s; B: s -> next = q -> next; p -> next = s; C: s -> next = q -> next; q -> next = s; D: q -> next = s; s -> next = p;
- 在一个长度大于2的单循环链表L中,P指针指向某结点,在P前插入S结点,要求在O(1)时间复杂度内完成,以下正确的是( )。 A: s->next=p->next;p->next=s; //将s结点插入到p之后t=s->data;s->data=p->data;p->data; //s结点和p结点的值互换 B: q=p->next;while(q->next!=p) q=q->next;s->next=p; q->next=s; C: q=p->next;while(q->next!=p) q=q->next;q->next=s; s->next=p; D: 在p结点前插入s结点,而且要求在O(1)内,无法实现。
- 删除单链表中指针p所指结点的语句序列为( )。 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;
- 在一个单链表HL中,若要删除由指针q所指向结点的后继结点,则执行的语句是 。 A: p=q->next; p->next=q->next; B: p=q->next; q->next=p; C: p=q->next; q->next=p->next; D: q->next=q->next->next; q->next=q;
内容
- 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;