已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。
已知p指向双向循环链表中的一个结点,其结点结构为data、prior、next三个域,写出算法change(p),交换p所指向的结点和它的前缀结点的顺序。
相关考题:
在非空双向循环链表结点中,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指向表中某一结点,要显示p所指结点的直接前驱结点的数据元素,可用操作()。Aprintf(“%d”,p-next-data);Bprintf(“%d”,p-prior-data);Cprintf(“%d”,p-prior-next);Dprintf(“%d”,p-data);
已知指针 p 指向某双向链表的一个中间结点,下列语句序列实现的操作是()。 q = p -> prior; p -> prior = q -> prior; q -> prior -> next = p; free(q);A.删除 p 结点B.删除 p 结点的直接前驱结点C.删除 p 结点的直接后继结点D.删除 p 结点及其所有后继结点
在双向链表中,在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所指向的新结点,其修改指针的操作是()。 注:双向链表的结点结构为(prior,data,next)。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;
(填空题)某双向链表中,结点结构为【prior,data,next】。那么删除p指针所指结点时,需要执行语句:p->next->prior=p->prior; 与 _______;free(p);