在双向循环链表中,在p所指的结点之后插入指针f所指的结点,其操作是__________。
A. p->rlink=f; f->rlink=p; (p->rlink)->llink=f; f->rlink=p->rlink;
B. p->rlink=f; (p->rlink)->llink=f; f->rlink=p; f->rlink=p->rlink;
C. f->rlink=p; f->rlink=p->rlink; p->rlink=f; (p->rlink)->llink=f;
D. f->llink=p; f->rlink=p->rlink; (p->rlink)->llink=f; p->rlink=f;
在非空双向循环链表中由q所指的那个结点前插入一个p所指的链结点的动作对应的语句依次为:p->rlink=q; p->llink= q->llink; q->llink=p; ____________。(空白处为一条赋值语句)
A. q->rlink=p;
B. q->llink->rlink=p;
C. p->llink->rlink=p;
D. p->rlink->rlink=p;
循环链表是由单链表改造而来,具体改造的地方为______。
A. 将头结点的空指针域改为指向尾结点
B. 将尾结点的空指针域改为指向头结点
C. 给所有结点加上反向指针
D. 将尾结点指针指向尾结点
双向链表的结点结构为一个数据域和两个指针域,数据域用于存放数据元素,一个指针域用于存放后继结点的地址,另一个指针域用于存放_______。
A. 本结点的地址
B. 下一个结点的地址
C. 前驱结点的地址
D. 空指针