首页 > 其他 > 详细

单链表的反转

时间:2017-06-12 20:13:19      阅读:291      评论:0      收藏:0      [点我收藏+]

ActList* ReverseList2(ActList* head) { if(NULL==head|| NULL==head->next) return head; //少于两个节点没有反转的必要。 ActList* p,* q,* r; // 通过三个指针 p = head; // 先保存head q = head->next;// 保存第二个
// 这里要先处理最后一个 head->next = NULL; //旧的头指针是新的尾指针,next需要指向NULL while(q){ r = q->next; //先保留下一个step要处理的指针 q->next = p; //然后p q交替工作进行反向 p = q; // p指针移动:也就是将地址重新赋值 q = r; // q指针移动 } head=p; // 最后q必然指向NULL,所以返回了p作为新的头指针 return head; }

 

单链表的反转

原文:http://www.cnblogs.com/1018475062qq/p/6994681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!