单选题删除*p节点的操作是()Aq=p;delete p;Bp=q;delete q;Cq-next=p-next;delete p;Dp-next=q-next;delete q;
单选题
删除*p节点的操作是()
A
q=p;delete p;
B
p=q;delete q;
C
q->next=p->next;delete p;
D
p->next=q->next;delete q;
参考解析
解析:
暂无解析
相关考题:
有以下结构体说明和变量定义,如图所示,指针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;
阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。【说明】函数DeleteNode(Bitree*r,inte)的功能是:在树根节点指针为r的二叉查找(排序)树上删除键值为e的节点,若删除成功,则函数返回0,否则函数返回-1。二叉查找树节点的类型定义为:typedef struct Tnode{int data;/*节点的键值*/struct Tnode *Lchild,*Rchiid;/*指向左、右子树的指针*/}*Bitree;在二叉查找树上删除一个节点时,要考虑3种情况。①若待删除的节点p是叶子节点,则直接删除该节点。②若待删除的节点p只有一个子节点,则将这个子节点与待删除节点的父节点直接连接,然后删除节点。③若待删除的节点p有两个子节点,则在其左子树上,用中序遍历寻找关键值最大的节点 s,用节点s的值代替节点p的值,然后删除节点s,节点s必属于上述①、②情况之一。【函数5-5】int DeleteNode(Bitree *r,int e){Bitree p=*r,pp,s,c;while( (1) {/*从树根节点出发查找键值为e的节点*/pp=p;if(e<p->data)p=p->Lchild;else p=p->Rehild;}if(!p)retrn -1;/*查找失败*/if(p->Lchild p->Rchild){/*处理情况③*/s=(2); pp=p;while( (3)){pp=s;s=s->Rchild;}p->data=s->data;p=s;}/* 处理情况①、②*/if((4))c=p->Lchild;else c=p->Rchild;if(p== *r)*r=c;else if((5))pp->Lchild=c;else pp->Rchild=c;free(p);return 0;}
在单链表中在指针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
在单链表中,指针p指向元素为x的结点,实现删除x节点的后继结点的语句是()。 A、p=p->next;B、p->next=p->next->next;C、p->next=p;D、p->next->next=p->next->next->next;
有n个节点的顺序表中,算法的时间复杂度是O(1)的操作是() A、访问第i个节点(1≤i≤n)B、在第i个节点后插入一个新节点(1≤i≤n)C、删除第i个节点(1≤i≤n)D、将n个节点从小到大排序
设单链表中节点的结构为(data,link)。已知指针q所指节点是指针p所指节点的直接前驱,若在*q与*p之间插入节点*s,则应执行下列哪一个操作?A.s↑.link:=p↑.link;p↑.link:=sB.q↑.link:=s;s↑.link:=pC.p↑.link:=s↑.link;s↑.link:=pD.p↑.link:=s;s↑.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;
双链表的每个节点包括两个指针域。其中rlink指向节点的后继,llink指向节点的前驱。如果要在p所指节点后插入q所指的新节点,下面哪一个操作序列是正确的?A.p↑.rlink↑.llink:=q;p↑.rlink:=q;q↑.llink:=p;q↑.rlink:=p↑,rlink;B.p↑.llink↑.rlink:=q;p↑.llink:=q;q↑.rlink:=p;q↑.llink:=p↑.llink;C.q↑.llink:=p;q↑.rlink:=p↑.rlink;p↑.rlink↑.llink:=q;p↑.rlink:=q↑;D.q↑.rlink:=p;q↑.llink:=p↑.llink;p↑.1link↑.rlink:=q;p↑.llink:=q;
单向链表的每一个节点都有一个指向它的后续节点的指针link,现有节点P和q,要将q插入节点p的后面,正确的操作应该是A.q↑.link: =p↑.link; p↑.link: =q;B.q: =p↑.link; p↑.link:=q↑.link;C.q↑.link: =p; p↑.link: =q;D.q:=p↑.link; p:=q↑.link;
单向链表的每一个节点都有一个指向它的后续节点的指针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
在如下所示的进程资源图中,(27) ;该进程资源图是 (28)A.P1、P2、P3都是阻塞节点B.P1是阻塞节点、P2、P3是非阻塞节点C.P1、P2是阻塞节点、P3是非阻塞节点D.P1、P2是非阻塞节点、P3是阻塞节点
在如下所示的进程资源图中, (请作答此空) ;该进程资源图是 ( ) 。A.P1、P2、P3都是阻塞节点B.P1是阻塞节点,P2、P3是非阻塞节点C.P1、P2是阻塞节点,P3是非阻塞节点D.P1、P2是非阻塞节点,P3是阻塞节点
在对层次数据库进行操作时,如果删除双亲节点,则相应的子女节点值也被同时删除。这是由层次模型的()决定的。 (1.0分) [单选.] A. 完整性约束 B. 数据结构 C. 数据操作 D. 缺陷