单选题 假设双链表结点的类型如下:
Typedef struct linknode
int data; /*数据域*/
struct linknode *llink; /*llink是指向前驱结点的指针域*/
struct linknode *rlink; /*rlink是指向后续结点的指针域*/
bnode
下面给出的算法段是要把一个q所指的新结点作为非空双向链表中的p所指结点的前驱结点插入到该双链表中,能正确完成要求的算法段是 (32)

【正确答案】 C
【答案解析】[分析]
本题考查链表的操作问题。
在链表中插入一个结点时,首先需要确定插入的位置,题目中是插入在p结点前面,因此,需要把插入结点q的rlink指向p,q的llink指向p的llink。然后,需要把p的llink指向q,p的前驱结点的rlink也指向q。