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