单链表的就地逆转

来源:互联网 发布:淘宝复制宝贝有影响吗 编辑:程序博客网 时间:2024/05/16 02:05

线性链表就地逆转函数,用“砍头”法。

砍断头结点后,在头结点和Head指针的中间不断插入链表的结点,从而达到链表逆转的目的

 

 

 

链表的就地逆转://线性链表就地逆转函数,用“砍头”法//砍断头结点后,在头结点和Head指针的中间不断插入链表的结点,从而达到链表逆转的目的void Reverse(LList *Head){LList *PL1,*PLn,*Tmp;PL1=Head->next;PLn=PL1->next;//先保存头结点后面一个结点的指针,不然头结点砍断后将丢失后面的结点PL1->next=NULL;//砍断第一个结点,也就是头结点while(PLn){Tmp=PLn->next;//用Tmp保存当前结点的next结点的指针,确保砍断当前结点后丢失后面的结点。PLn->next=PL1;Head->next=PLn;PL1=PLn;//PLn成为下一个结点的next指针的指向目标PLn=Tmp;//PLn变成需要插入的结点的指针了}}


 

1 0
原创粉丝点击