数据结构里,删除p指针指向结点的后继结点并回收空间,指针域为next,语句序列不应该是()
A.p->next=p->next->next
B.p->next=p->next->next;free(p)
C.q=p->next;p->next=p->next->next;free(q)
D.q=p->next->next;p->next->next=p->next->next;free(q)
时间:2024-02-19 17:50:39
相似题目
-
设指针变量p指向单链表中某结点A,则删除结点A的后继结点需要的操作为()(不考虑存储空间的释放)。
-
在头指在单链表中,指针p指向元素为x的结点,实现删除x的后继的语句是()。
A . p=p->next;
B . p->next=p->next->next;
C . p->next=p;
D . p=p->next->next;
-
双链表的每个结点包括两个指针域。其中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↑.rlind:=p;q↑.llink:=p↑.llink;p↑.llink↑.rlink:=q;p↑.llink:=q;
-
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。删除链表的第一个结点。
-
删除一单向链表中P指针所指向结点的后继结点,正确的操作是()。
A . p->next=p->next->next
B . p=p->next
C . p->next=p
D . p->next->next=p->next
-
假定已建立以下链表结构,且指针p 和q 已指向如图所示的结点: head a b c data next ↑p ↑q 则以下选项中可将q 所指结点从链表中删除并释放该结点的语句组是( )。
-
已知单向链表中指针p指向结点A,( )表示删除A的后继结点(若存在)的链操作(不考虑回收)。
-
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针P指向的的单链表结点之后,下面的操作序列中哪一个是正确的?<img src='https://img2.soutiyun.com/ask/uploadfile/1734001-1737000/26a11eb6abbe69402bfa49f867b360d4.jpg' />
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所指的新结点,下列()操作序列是正确的。
<img src='https://img2.soutiyun.com/ask/uploadfile/2556001-2559000/9d639ef43995270f0e92b86452297bf9.jpg' />
-
单向链表的每一个结点都有一个指向它的后续结点的指针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;
-
在一个单链表中,若要删除由指针q所指向结点(若q存在后继结点的话),则执行()操作。
A.p=q->next,p->next=q->next,交换p、q所指结点的数据域的值
B.p=q->next,q->next=p,交换p、q所指结点的数据域的值
C.p=q->next交换p、q所指结点的数据域的值q->next=p->next
D.q->next=q->next->next,q->next=q
-
单链表的每个结点中包括一个指针link,它指向该结点的后继结点。现要将指针q指向的新结点插人到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?<img src='https://img2.soutiyun.com/shangxueba/ask/2037001-2040000/2037661/ct_ctabm_chdbbchoose_06489(20092).jpg' />
A.q:=p^. link; p^.Link:=q^.link;
B.p^.link:=q^.1ink; q:=p^.1ink;
C.q^.link:=p^.link; p^.1ink:=q;
D.p^.1ink:=q; q^.link:=p^.link;
-
假定已建立以下链表结构,且指针p和q已指向如图所示的结点:<img src='https://img2.soutiyun.com/shangxueba/ask/1989001-1992000/1990553/ct_ctcbz200809_ctcbchoose_00038(20094).jpg' />则以下选项中司将q所指结点从链表中删除并释放该结点的语句组是______。
A.(*p).next=(*q).next; free(p);
B.p=q->next; free(q);
C.p=q; free(q);
D.p->next=q->next; free(q);
-
在单链表中,指针P指向元素为x的结点,实现“删除x的后继”的语句是(20)。A.p=p→next;B.p→next:p→next
在单链表中,指针P指向元素为x的结点,实现“删除x的后继”的语句是(20)。
A.p=p→next;
B.p→next:p→next→next;
C.p→next=p;
D.p=p→next→next;
-
在单链表中,指针p指向元素为x的结点,下面哪条语句实现“删除x的后继”?()A.p=p->nextB.p->next=p->
在单链表中,指针p指向元素为x的结点,下面哪条语句实现“删除x的后继”? ()
A.p=p->next
B.p->next=p->next->next
C.p->next=p
D.p=p->next->next
-
在单链表中,指针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;
-
单链表中删除p指针指向结点的后继则时间复杂度是(假设存在)()
A.O(n)
B.O(1)
C.O(n*n)
D.都不对
-
在一个单链表HL为表头指针中,若要删除由指针p所指向结点的后继结点,则执行
A.q=p->next;q->next=p->next;
B.q=p->next;p->next=q;
C.q=p->next;p->next=q->next;
D.p->next=p->next->next;p->next=p;
-
在单链表中,指针p指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()
A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p->next-p
-
4、假设在长度大于1的循环单链表中,既无头结点也无头指针,p为指向该链表中某个结点的指针,编写一个算法删除该结点的前驱结点
-
单链表的每个结点中包括一个指针next,它指向该结点的后继结点。现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的()
A.q->next=p->next;p->next=q;
B.p->next=q->next;q=p->next
C.p->next=q;q->next=p->next;
D.q=p->next;p->next=q->next;
-
2、已知指针p指向单链表L中的某结点,则删除其后继结点的语句是:________
-
在一个单链表中删除p所指向结点的后继结点时,其算法的时间复杂度为()。
A.O(n)
B.O(n/2)
C.O(1)
D.O(n2)
-
设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被cha入的结点X,则在结点A和结点B插入结点X的操作序列为()
A.s->next=p->next;p->next=-s;
B.q->next=s; s->next=p;
C.p->next=s->next;s->next=p;
D.p->next=s;s->next=q