您的位置:首页 > 其它

双循环链表的逆置

2015-04-16 19:35 501 查看
nodetype *invert(nodetype *head)
{
nodetype *p=head,*q,*s;
if(p!=NULL)
{
q=p->next;
head->next=head->left;/////逆置头结点
head->left=p->next;
while(q!=head)
{
s=q->next;
q->left=q->next;
q->next=p;
p=q;
q=s;
}
}
return head;
} 因为每一个节点都有左右指针,所以要逆置的话,只要从头结点开始,让每一个节点的左指针指向右节点,右指针指向左节点就可以了。但是需要强调的一点是,在创建双循环链表的时候,注意对头指针的处理,头指针也是有左右指针域的,如果一直都忘了头指针要指向最后一个节点的话,交换指针之后,就打印不出来啦!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  双循环链表 逆置