单链表的逆置java 什么是单链表的逆置?
浏览量:2301
时间:2021-03-12 20:13:49
作者:admin
什么是单链表的逆置?
例如,链表a-> B-> C-> D有头和尾。局部反转是指:a next=&BB->next=&CC->next=&DD->next=0反转后:B->next=&AC->next=&BD->next=&CA->next=0。所谓局部求逆,就是在运算中遇到a->next=&B时,重写为B->next=&a
,即算法的辅助空间为O(1)。其思想是:倒排列表初始为空,依次将列表中的节点从原列表中“删除”,然后将倒排列表的头依次插入(即“头插入”倒排列表),使其成为倒排列表的第一个“新”节点,依此类推,直到原列表为空。实现代码:void converse(LinkList*head){LinkList*P,*q P=head->next head->next=null,而(P){/*向后移动一个位置*/q=P P=P->next/*header plug*/q->next=head->next head->next head->next=q}}
单链表的逆置java 单链表就地逆置算法 数据结构单链表的逆置算法
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。