在一个长度大于2的单循环链表L中,P指针指向某结点,在P前插入S结点,要求在O(1)时间复杂度内完成,以下正确的是()。

12 查阅

在一个长度大于2的单循环链表L中,P指针指向某结点,在P前插入S结点,要求在O(1)时间复杂度内完成,以下正确的是()。

A.s->next=p->next;p->next=s;//将s结点插入到p之后t=s->data;s->data=p->data;p->data;//s结点和p结点的值互换

B.q=p->next;while(q->next!=p)q=q->next;s->next=p;q->next=s;

C.q=p->next;while(q->next!=p)q=q->next;q->next=s;s->next=p;

D.在p结点前插入s结点,而且要求在O(1)内,无法实现。

参考答案:

答案:s->next=p->next;p->next=s;//将s结点插入到p之后t=s->data;s->data=p->data;p->data;//s结点和p结点的值互换