已知指针p指向单链表head中的某个结点,若删除其后继结点,则需执行()。
A: r=p; p->next=r->next; free(r);
B: r=p->next; p=r->next; free(r);
C: r=p->next; p->next=r->next; free(r);
D: r=p->next; r->next=p->next; free(r);
A: r=p; p->next=r->next; free(r);
B: r=p->next; p=r->next; free(r);
C: r=p->next; p->next=r->next; free(r);
D: r=p->next; r->next=p->next; free(r);
举一反三
- 在单链表中删除指针p指向结点的后续结点*r的正确操作是() A: p->next=r->next; B: p->next=r->next;free(r); C: p=r->next; D: p=r->next;free(r);
- (2)intBB(LinkList*L){LinkList*p,*q,*r;p=L->next;if(!p)return0;while(p->next){q=p;while(q->next){if(q->next->data!=p->data)q=q->next;else{r=q->next;q->next=r->next;free(r);}}p=p->next;}}Writethefunctionofthealgorithmabove.(5.0分)
- 已知指针p指向单链表head中的某个结点,若删除其后继结点,则需执行()。 A: r=p; p->next=r->next; free(r); B: r=p->next; p=r->next; free(r); C: r=p->next; p->next=r->next; free(r); D: r=p->next; r->next=p->next; free(r);
- 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。struct node { int data; struct node *next; } *p, *q, *r;[*] 现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是() A: r->next=q; q->next=r->next; p->next=r; B: q->next=r->next; p->next=r; r->next=q; C: p->next=r; q->next=r->next; r->next=q; D: q->next=r->next; r->next=q; p->next=r;
- 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是struct node { int data; struct node *next; }*p, *q, *r;[img=499x166]1803086e2b395fc.jpg[/img] A: r->next=q; q->next=r->next; p->next=r; B: q->next=r->next; p->next=r; r->next=q; C: p->next=r; q->next=r->next; r->next=q; D: q->next=r->next; r->next=q; p->next=r;