网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
假设单链表的最后一个结点的next指针域指向了第一个结点,则该单链表是有环的。那么如果p指向某一个结点,while(p!=NULL) p=p->next; 会无限循环下去。
参考答案和解析
正确
更多 “假设单链表的最后一个结点的next指针域指向了第一个结点,则该单链表是有环的。那么如果p指向某一个结点,while(p!=NULL) p=p->next; 会无限循环下去。” 相关考题
考题
程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。若有以下程序段 q=s; s=s->next; p=s; while(p->next) p=p->next; P->next=q; q->next=NULL; 该程序段实现的功能是______。A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点
考题
要在一个单向链表中p所指向的结点之后插入一个s所指向的新结点,若链表中结点的指针域为next,可执行 p->next=s; s->next= p->next;的操作。()
此题为判断题(对,错)。
考题
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针x指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。
A、q->next=x->next;x->next=p;B、s->next=p;q->next=x->next;C、p->next=x->next;x->next=p;D、x->next=q;p->next=x->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、p->next=p->next->next;B、p->next=p->next;C、p=p->next;D、p=p->next->next;
考题
p指向线性链表中某一结点,则在线性链表的表尾插入结点s的语句序列是()。A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;
考题
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
函数ReverseList(LinkList headptr)的功能是将含有头结点的单链表就地逆置。处理思路是将链表中的指针逆转,即将原链表看成由两部分组成:已经完成逆置的部分和未完成逆置的部分,令s指向未逆置部分的第一个结点,并将该结点插入已完成部分的表头(头结点之后),直到全部结点的指针域都修改完成为止。
例如,某单链表如图1所示,逆置过程中指针s的变化情况如图2所示。
链表结点类型定义如下:
typedef struct Node{ int data; Struct Node *next; }Node,*LinkList; [C函数] void ReverseList(LinkList headptr) { //含头结点的单链表就地逆置,headptr为头指针 LinkList p,s; if(______) return; //空链表(仅有头结点)时无需处理 P=______; //令P指向第一个元素结点 if(!P->next) return; //链表中仅有一个元素结点时无需处理 s=p->next; //s指向第二个元素结点 ______ =NULL; //设置第一个元素结点的指针域为空 while(s){ p=s; //令p指向未处理链表的第一个结点 s= ______; p->next=headptr->next; //将p所指结点插入已完成部分的表头 headptr->next= ______; } }
考题
设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。A.p->next=s;s->next=q;
B.q->next=s;s->next=p;
C.p->next=s->next;s->next=p;
D.s->next=p->next;p->next=-s;
考题
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。A、q-next=s-next;s-next=p;B、s-next=p;q-next=s-next;C、p-next=s-next;s-next=q;D、s-next=q;p-next=s-next;
考题
己知指针p指向单链表中的某结点,则下列各组语句能删除链表中结点的是()A、p=p->nextB、q=p->next;q=q->nextC、p->next = p-next->nextD、q=p->next;p=p->next;q=p->next
考题
设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为()。A、p->next=p->next->nextB、p=p->nextC、p=p->next->nextD、next=p
考题
在一个单链表中,若要删除p指针所指向结点的后继结点,则执行()A、p->next=pB、p=p->next->nextC、p->next=p->next->nextD、p=p->next;p->next=p->next->next
考题
在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()A、 p->next=s;s->next=qB、 q->next=s;s->next=pC、 S->next=p->next;p->next=sD、 p->next=s->next;s->next=q
考题
单选题在一个单链表中,己知指针q所指向的结点是指针P所指向的结点的前趋结点,若在指针q和p所指向的两个结点之间插入指针s指向的结点,则执行()A
p->next=s;s->next=qB
q->next=s;s->next=pC
S->next=p->next;p->next=sD
p->next=s->next;s->next=q
考题
单选题已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为()。A
q-next=s-next;s-next=p;B
s-next=p;q-next=s-next;C
p-next=s-next;s-next=q;D
s-next=q;p-next=s-next;
考题
单选题在一个单链表中,若要删除p指针所指向结点的后继结点,则执行()A
p->next=pB
p=p->next->nextC
p->next=p->next->nextD
p=p->next;p->next=p->next->next
考题
单选题设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为()。A
p->next=p->next->nextB
p=p->nextC
p=p->next->nextD
next=p
考题
单选题己知指针p指向单链表中的某结点,则下列各组语句能删除链表中结点的是()A
p=p->nextB
q=p->next;q=q->nextC
p->next = p-next->nextD
q=p->next;p=p->next;q=p->next
热门标签
最新试卷