在一个双链表中, 删除*p节点的操作是 _______。A.p -> prior –>next= p-> next;p ->next-> prior = p -> prior;B.p ->prior= p -> prior -> prior;p -> prior ->prior = p;C.p-> next -> prior = p;p-> next=p-> next-> next;D.p -> next= p->prior -> prior;p-> prior = p->prior->prior;
在一个双链表中, 删除*p节点的操作是 _______。
A.p -> prior –>next= p-> next;p ->next-> prior = p -> prior;
B.p ->prior= p -> prior -> prior;p -> prior ->prior = p;
C.p-> next -> prior = p;p-> next=p-> next-> next;
D.p -> next= p->prior -> prior;p-> prior = p->prior->prior;
参考答案和解析
p -> prior –>next= p-> next ; p ->next-> prior = p -> prior ;
相关考题:
有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向此链表中的三个连续节点。 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节点的后续节点,则执行A.p↑.next:=p↑.next↑.next;B.p:=p↑.next;p↑.next:=p↑.next↑.next;C.flee(p↑.next);D.p:=p↑.next↑.next;
在单链表中在指针p所指节点后插入节点q的操作是A.q:=p↑.link;p↑.link:=q↑.linkB.p↑.link:=q↑.link;q↑.link:=p↑.linkC.q↑.link:=p;p↑.link:=qD.q↑.link:=p↑.link;p↑.link:=q
单链表的每个节点中包括一个指针link,它指向该节点的后继节点。现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的? ______。A.q:=p^.link;p^.link:=q^.link;B.p^.link:=q^.link;q:=p^.link;C.q^.link:=p^.link;p^link:=q;D.p^.link:=q;q^.link:=p^.link;
在一个单链表中,若p所指结点不是最后结点,则删除p所指结点的后继结点的正确操作是 ______。A.p=p>nextB.p->next=p->nextC.p->next=p->next->nextD.p-next=p
单向链表的每一个节点都有一个指向它的后续节点的指针link,现有节点p和q,节点q在节点p的前面,要删除节点p,正确的操作应该是A.q↑.link:=p↑.link;B.p↑.link:=q↑.link;C.q↑.link:=p;p↑.link:=q;D.q:=p↑.link;p↑.link:=q↑.link;
设有指针p指向带表头结点的单链表,现将指针p指向节点的后继节点删除(不考虑节点值及空间回收),其操作是______。其中p^.next表示p所指节点的链域,q是一个临时指针变量,初始值为null。A.p:=p^.nextB.q:=p^.next;p^.next:=q^.nextC.p^.next:=q;q^.next:=pD.p:=q^.next;q^.next=p
在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。A.遍历链表和求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除开始结点D.删除地址为P的结点的后继结点
多选题要想删除1个链表中的节点,必须的操作包括:()A判断该节点是否是头节点B删除该节点C将前1节点的指针指向被删除节点的后1节点D将被删除节点的指针设为空