网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
在双向链表中,在p所指向的结点前插入一个q所指向的结点,相应的操作语句是()。 注:双向链表的结点结构为(prior,data,next)。
A.p->prior=q;q->next=p;p->prior->next=q;q->prior=q;
B.p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior;
C.q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;
D.q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;
参考答案和解析
p->prior->next=q; q->next=p; q->prior=p->prior;p->prior=q;
更多 “在双向链表中,在p所指向的结点前插入一个q所指向的结点,相应的操作语句是()。 注:双向链表的结点结构为(prior,data,next)。A.p->prior=q;q->next=p;p->prior->next=q;q->prior=q;B.p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior;C.q->next=p;q->prior=p->prior;p->prior->next=q;p->prior=q;D.q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;” 相关考题
考题
在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是()
A、p->next=q;q->prior=p;p->next->prior=q;q->next=q;B、q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;C、q->next=p->next;q->prior=p;p->next=q;p->next=q;D、p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
考题
在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是()。
A.p->next=q;q->prior=p;p->next->prior=q;q->next=q;B.p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;C.q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;D.q->prior=p;q->next=p->next;p->next=q;p->next->prior=q;
考题
已知指针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;
考题
阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】设有一个带表头结点的双向循环链表L,每个结点有4个数据成员:指向前驱结点的指针prior、指向后继结点的指针next、存放数据的成员data和访问频度freq。所有结点的freq初始时都为0。每当在链表上进行一次L.Locate(x)操作时,令元素值x的结点的访问频度 freq加1,并将该结点前移,链接到现它的访问频度相等的结点后面,使得链表中所有结点保持按访问频度递减的顺序排列,以使频繁访问的结点总是靠近表头。【函数】void Locate( int x){ <结点类型说明>* p =first -> next;while(p!=frist(1))P=P->next;if(p! =first) /*链表中存在x*/{(2);<结点类型说明>* current = P; /*从链表中摘下这个结点*/Current -> prior -> next = current -> next;Current -> next -> prior = current -> prior;P = current -> prior; /*寻找重新插入的位置*/While(p! =first (3))p=p->prior;Current-> next =(4); /*插入在P之后*?Current -> prior = P;P -> next -> prior = current;P->next=(5);}else printf("Sorry. Not find! \n"); /*没找到*/}
考题
在非空双向循环链表结点中,prior域指向该结点的直接前驱,next域指向直接后续,那么在q所指的结点后面插入p所指的结点的过程为______。A.q→next=p;p→prior=q;q→next→prior=p;p→next=q→next。B.p→next=q→next;q→next=p;q→next→prior=p;p→prior=q。C.p→prior=q;p→next=q→next;q→next=p;q→next→prior=p。D.p→next=q→next;q→next→prior=p;p→prior=q;→next=p。
考题
设指针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指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作()。Aprintf(“%d”,p-next-data);Bprintf(“%d”,p-prior-data);Cprintf(“%d”,p-prior-next);Dprintf(“%d”,p-data);
考题
已知指针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指针所指的结点后插入q所指向的新结点,其修改指针的操作是()。A、p-next=q; q-prior=p; p-next-prior=q; q-next=q; B、p-next=q; p-next-prior=q; q-prior=p; q-next=p-next; C、q-prior=p; q-next=p-next; p-next-prior=q; p-next=q; D、q-prior=p; q-next=p-next; p-next=q; p-next-prior=q;
考题
设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。
考题
判断题非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p-prior=q,p-next=q-next,q-next=p,q-prior-next←p。A
对B
错
考题
单选题已知指针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;
考题
问答题设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。
考题
单选题在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是()。A
p-next=q; q-prior=p; p-next-prior=q; q-next=q; B
p-next=q; p-next-prior=q; q-prior=p; q-next=p-next; C
q-prior=p; q-next=p-next; p-next-prior=q; p-next=q; D
q-prior=p; q-next=p-next; p-next=q; p-next-prior=q;
考题
填空题设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。
热门标签
最新试卷