设指针变量p指向双向链表中节点A,指针变量s指向被插入的节点X,则在节点A的后面插入节点X的操作序列为()
- A.p->right=s;s->left=p;p->right->left=s;s->right=p->right;
- B.p->right=s;p->right->left=s;s->left=p;s->right=p->right;
- C.s->left=p;s->right=p->right;p->right=s;p->right->left=s;
- D.s->left=p;s->right=p->right;p->right->left=s;p->right=s;
正确答案及解析
正确答案
D
解析
为了防止在插入节点时链表断裂,在修改指针时,需要先使s的后继指针指向p原来的后继节点,然后修改p的后继指针。