网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

在双向链表中,在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指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。

考题 在双向循环链表中,在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。

考题 设指针变量p指向单链表中的结点A,则删去结点A的语句序列为 Q=p->next;p->data = p->data: p->next=(); :feee(q);

考题 设指针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;

考题 双向链表中有两个指针域llink和rlink,分别指向前驱和后继,设β指向表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插人为()。

考题 双向循环链表结点的数据类型为: 设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所指的结点,其中所用的一条语句(p-next)-prior=p-prior;的功能是:使P所指结点的直接后继的左指针指向()

考题 在双向循环链表中,在p所指的结点之后插入s指针所指的结点,其操作是S-next=p-next;()=s;s-prior=();p-next=s;

考题 设单链表的结点结构为(data,next)。已知指针p指向单链表中的结点,q指向新结点,欲将q插入到p结点之后,则需要执行的语句:();()。

考题 在双向循环链表中,在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指向结点a,q指向结点a的直接后继结点b,要删除结点b,可执行()。A、p-next=q-next;B、p=q-next;C、p-next=p;D、p-next=q;

考题 要在一个单向链表中p所指向的结点之后插入一个S所指向的新结点,若链表中结点的指针域为next,可执行()和p-next==s的操作。

考题 要在一个单向链表中删除p所指向的结点,已知q指向p所指结点的直接前驱结点,若链表中结点的指针域为next,则可执行()。

考题 设有一个不带头结点的单向链表,头指针为head,结点类型为NODE,每个结点包含一个数据域data和一个指针域next,该链表有两个结点,p指向第二个结点(尾结点),按以下要求写出相应语句。把该结点插入链表的尾部,释放指针s的指向。

考题 非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p-prior=q,p-next=q-next,q-next=p,q-prior-next←p。

考题 在一个双向链表中删除指针p所指向的结点时,需要对p-next-prior指针域赋值为()

考题 填空题在双向链表中,要删除p所指的结点,其中所用的一条语句(p-next)-prior=p-prior;的功能是:使P所指结点的直接后继的左指针指向()

考题 填空题在一个双向链表中删除指针p所指向的结点时,需要对p-next-prior指针域赋值为()

考题 判断题非空双向循环链表中由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结点之后,则需要执行的语句:();()。