在非空双向循环链表结点中,prior域指向该结点的直接前驱,next域指向直接后续,那么在q所指的结点后面插入p所指的结点的过程为______。
A:q→next=p;p→prior=q;q→next→prior=p;p→next=q→next。 B:p→next=q→next;q→next=p;q→next→prior=p;p→prior=q。 C:p→prior=q;p→next=q→next;q→next=p;q→next→prior=p。 D:p→next=q→next;q→next→prior=p;p→prior=q;→next=p。
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续结点。 Structnode intdata;structnode*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所指的结点的后继结点(next是结点的指针域),需要执行( )。
A:p↑.next:=p; B:p↑.next:=p↑.next↑.next; C:p:=p↑.next; D:p↑.next↑.next:=p↑.next;
有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。 struct node int data; struct node *next; *p, *q, *r; data next data next data next
现要将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分别指向一个链表中的三个连续结点。 struct node int data; struct node*next; *p,*q,*r;
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是()。
A:q->next=r->next;r->next=q;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:r->next=q;q->next=r->next;p->next=r;
有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连续结点。 struct node int data; struct node *next; *p, *q, *r; data next data next data next
现要将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分别指向一个链表中的三个连续结点。 struct node int data; struct node *next; )*p,*q,*r; data next data next data next
现要将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分别指向链表中的3个连续结点。
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;
若以下定义:struct link{ int data; struck link *next;}a,b,c,*p,*q;且变量a和b之间已有下图所示的链表结构:
指针p指向变量a,q指向变量c,则能够把c插入到a和b之间并形成新的链表的语句组是( )。
A:next=c; next=b; B:next=q; next= next; C:p->next=&c; q->next=p>next; D:(*.next=q;(*.next=&b;
有以下结构体说明和变量定义,如图所示,指针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;