A.t->prior->next=t->next;t->next->prior=t->prior;
B.t->prior->prior=t->prior;t->next->next=t->next;
C.t->prior->next=t->prior;t->next->prior=t->next;
D.t->prior->prior=t->next;t->next->prior=t->prior;
假定已建立以下链表结构,且指针p和q已指向如下图所示的结点:
则以下选项中,可将q 所指结点从链表中删除并释放该结点的语句组是
A.(*p).next=(*q).next; free(p);
B.p=q->next; free(q);
C.p=q; free(q);
D.p->next=q->next; free(q);
若已建立如下图所示的单向链表结构:在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是______。
A.p=p->next; s->next=p; p->next=s;
B.p=p->next; s->next=p->next; p->next=s;
C.s->next=NULL; p=p->next; p->next=s;
D.p=(*p).next; (*s).next=(*p).next; (*p).next=s;
与单向链表相比,双向链表______。
A.需要较少的存储空间
B.遍历元素需要的时间较长
C.较易于访问相邻结点
D.较易于插入和删除元素
对于单链表,如果仅仅知道一个指向链表中某结点的指针p,(54)将p所指结点的数据元素与其确实存在的直接前驱交换,对于单循环链表来说(55),而对双向链表来说(56)。
A.可以
B.不可以
C.不确定
D.仅能一次
如下图所示的二叉树,要求:
(1)写出按先序、中序、后序遍历得到的结点序列。
(2)画出该二叉树的后序线索二叉树。
A.结点D与结点E是兄弟B.结点D是结点E的祖父结点C.结点E的父结点与结点D的父结点是兄弟D.结点E的父结点与结点D是兄弟