有以下结构体说明和变量定义,如图所示,指针p,q,r分别指向此链表中三个连续结点。 struct node { int data; struct node *next; } *p,*q,*r;现要将q所指结点从链表中删除,同时保持链表的连续,以下不能完成指定操作的语句是( )。
A: p->next=p->next->next;
B: p=q->next;
C: p->next=r;
D: p->next=q->next;
A: p->next=p->next->next;
B: p=q->next;
C: p->next=r;
D: p->next=q->next;
举一反三
- 现有以下结构体说明和变量定义,如图所示,指针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;
- 有以下结构体说明和变量定义,如图所示: struct node {int data; struct node *next;} *p,*q,*r; 现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是______。 A: p->next=q->next; B: p->next=p->next->next; C: p->next=r; D: p=q->next;
- 有以下结构体说明和变量定义,指针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的操作是()。 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;
- 若已建立以下链表结构,指针p、s分别指向如图所示结点。 则不能将s所指结点插入到链表末尾的语句组是______。 A: p=p->next; s ->next=p; p->next=s; B: s ->next='\0'; p=p->next; p->next=s; C: p=p->next; s ->next=p->next; p->next=s; D: p=(*p).next; (*s ).next=(*p).next; (*p).next=s;