网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
参考答案
更多 “设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。” 相关考题
考题
●设rear是指向非空带头结点的循环单链表的尾指针,则删除链表第一个结点的操作可表示为 (22) 。(22) A.p=rear;rear=rear→next;free(p);B.rear=rear→next;free(p);C.rear=rear→next→next;free(p);D.p=rear→next→next;rear→next=p→next;free(p);
考题
已知指针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;
考题
函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空includestruc
函数min()的功能是:在带头结点的单链表中查找数据域中值最小的结点。请填空include <stdio.h>struct node{ int data;struct node *next;};int min(struct node *first)/*指针first为链表头指针*/{ struct node *p; int m;p=first->next; re=p->data; p=p->next;for( ;p!=NULL;p=【 】)if(p->data<m ) re=p->data;return m;}
考题
阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
[说明]
函数Combine(LinkList La,LinkList Lb)的功能是:将元素呈递减排列的两个含头结点单链表合并为元素值呈递增(或非递减)方式排列的单链表,并返回合并所得单链表的头指针。例如,元素递减排列的单链表La和Lb如图1所示,合并所得的单链表如图2所示。
设链表结点类型定义如下:
typedef Struct Node{ int data; struct Node*next; }Node,*LinkList; [C函数] LinkListCombine(LinkList La,LinkList Lb) { //La和Lb为含头结点且元素呈递减排列的单链表的头指针 //函数返回值是将La和Lb合并所得单链表的头指针 //且合并所得链表的元素值呈递增(或非递减)方式排列 ______Lc,tp,pa,pb; //Lc为结果链表的头指针,其他为临时指针 if(!La)returnNULL; pa=La->next; //pa指向La链表的第一个元素结点 if(!Lb) returnNULL; pb=Lb->next; //pb指向Lb链表的第一个元素结点 Lc=La; //取La链表的头结点为合并所得链表的头结点 Lc->next=NULL; while(______) { //pa和pb所指结点均存在(即两个链表都没有到达表尾) //令tp指向pa和pb所指结点中的较大者 if(pa->data>pb->data){ tp=pa; pa=pa->next; } else{ tp=pb; pb=pb->next; } ______ =Lc->next; //tp所指结点插入Lc链表的头结点之后 Lc->next=______; } tp=(pa)?pa:pb; //设置tp为剩余结点所形成链表的头指针 //将剩余的结点合并入结果链表中,pa作为临时指针使用 while (tp) { pa=tp->next; tp->next=Lc->next; Lc->next=tp; ______; } return Lc; }
考题
设指针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指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为()。A.q=p->next;p->data=q->data;p->next=q->next;free(q);
B.q=p->next;p->data=q->data;free(q);
C.q=p->next;p->next=q->next;free(q);
D.q=p->next;q->data=p->data;p->next=q->next;free(q);
考题
在单链表中,指针p指向结点A,若要删除A之后的结点(存在),则指针的操作方式为()。A.p—>next=p—>next—>next
B.p=p—>next
C.p=p—>next—>next
D.p->next-p
考题
设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表。单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:p-next=s;s-next=p-next;这样做正确吗?若正确则回答正确,若不正确则说明应如何改写?
考题
设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为()A、p-next=p-next-next; B、p=p-next; C、p=p-next-next; D、p-next=p;
考题
已知指针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之后的结点(若存在),则需修改指针的操作为()。A、p->next=p->next->nextB、p=p->nextC、p=p->next->nextD、next=p
考题
单选题已知指针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,若删除单链表中结点A,则需要修改指针的操作序列为( )。A
q=p-next;p-data=q-data;p-next=q-next;free(q);B
q=p-next;q-data=p-data;p-next=q-next;free(q);C
q=p-next;p-next=q-next;free(q);D
q=p-next;p-data=q-data;free(q);
考题
单选题设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为()A
p-next=p-next-next; B
p=p-next; C
p=p-next-next; D
p-next=p;
考题
单选题设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为()。A
p-next=p-next-nextB
p=p-nextC
p=p-next-nextD
p-next=p
考题
单选题设单链表中指针p指向结点a,若要删除p之后的结点(若存在),则需修改指针的操作为()。A
p->next=p->next->nextB
p=p->nextC
p=p->next->nextD
next=p
考题
填空题设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
热门标签
最新试卷