30、在一个双链表中, 删除*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;

30、在一个双链表中, 删除*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;


参考答案和解析
A

相关考题:

在一个双链表中删除指针p所指结点,可执行以下操作:p->next->prior=();p->prior->next=();();

在单链表中,要删除一个指定的节点,必须要找到该节点的______。

有以下结构体说明和变量定义,如图所示,指针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

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。A.求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除表头结点D.删除地址为P的结点的后继结点

循环链表的主要优点是(44)。A.已知某个节点的位置后,能很容易找到它的直接前驱节点B.在进行删除操作后,能保证链表不断开C.从表中任意节点出发都能遍历整个链表D.不再需要头、尾指针

若某链表最常用的操作是在最后一个节点之后插入一个节点和删除最后一个节点,则采用______存储方式最节省时间。A.单链表B.双链表C.单循环链表D.带头节点的双循环链表

循环链表的主要优点是(1)。A.不再需要头指针了B.已知某个节点的位置后,能很容易找到它的直接前驱节点C.在进行删除操作后,能保证链表不断开D.从表中任一节点出发都能遍历整个链表

单链表的每个节点中包括一个指针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

循环链表的主要优点是(64)。A.不再需要头指针B.在进行删除操作后,能保证链表不断开C.从表中任一节点出发都能遍历整个链表D.能很容易找到它的直接前驱节点

在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。A.遍历链表和求链表的第i个结点B.在地址为P的结点之后插入一个结点C.删除开始结点D.删除地址为P的结点的后继结点

在一个双链表中,删除P结点之后的一个结点的操作是()。

在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p-next;p-next=();

若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方式最节省时间。A、单链表B、双链表C、单循环链表D、带头结点的双循环链表

设一个链表最常用的操作是在表尾插入结点和在表头删除结点,则选用下列哪种存储结构效率最高?()A、 单链表B、 双链表C、 单循环链表D、 带尾指针的单循环链表

设有一个单向循环链表,头指针为head,链表中结点的指针域为next,p指向尾结点的直接前驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作()。

在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。则可以用操作()。

双链表中,设p是指向其中待删除的结点,则需要执行的操作为()。

要想删除1个链表中的节点,必须的操作包括:()A、判断该节点是否是头节点B、删除该节点C、将前1节点的指针指向被删除节点的后1节点D、将被删除节点的指针设为空

填空题双链表中,设p是指向其中待删除的结点,则需要执行的操作为()。

填空题在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p-next;p-next=();

填空题在一个单向链表中,要删除p所指结点,已知q指向p所指结点的前驱结点。则可以用操作()。

多选题要想删除1个链表中的节点,必须的操作包括:()A判断该节点是否是头节点B删除该节点C将前1节点的指针指向被删除节点的后1节点D将被删除节点的指针设为空