码迷,mamicode.com
首页 > 其他好文 > 详细

单链表逆序

时间:2018-05-31 02:24:21      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:利用   code   div   就是   单链表   4行   node   逆序   swa   

  最近经常碰到让写链表逆序的命题,但是我总是粗心大意漏掉内容,造成结果是痛苦和迷茫:

 1 void SWapNow(Node* p)
 2 {
 3     Node* pCur = p->pNext;
 4     p->pNext = NULL;
 5     Node* pTemp = NULL;
 6     Node* pPre = NULL;
 7     while (NULL != pCur)
 8     {
 9         pPre = p->pNext;
10         p->pNext = pCur;
11         pTemp = pCur->pNext;
12         pCur->pNext = pPre;
13         pCur = pTemp;
14     }
15 }

  如上代码,为头插法,第4行内容没有的话,链表在第一节点陷入死循环,造成空间不足的bug;

  如上代码主要是先保存头部连接的下一节点,置换为当前节点,保存当前节点的下一节点,置换为头部节点的前下一节点。之后利用保存的当前节点的下一节点进行循环置换。

  挺简单的,但是当时怎么也理不清道不明,唉,考菜说的就是我这种人吧!

单链表逆序

标签:利用   code   div   就是   单链表   4行   node   逆序   swa   

原文地址:https://www.cnblogs.com/WaterGood/p/9114160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!