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

单链表逆置

时间:2014-07-07 21:19:21      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:blog   http   strong   width   art   代码   

  基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。

         实现代码:

 

  1. typedef int DataType; //类型定义  
  2. typedef struct node{  //单链表定义  
  3.       DataType data;  
  4.       struct node* next;  
  5. }LinkedNode,*LinkList;  
  6. void ReverseList(LinkList& ListHead)  
  7. {  
  8.     cout<<"Begin to Reverse the List"<<endl;  
  9.     if( (NULL==ListHead)||(NULL==ListHead->next) )return ;  //边界检测  
  10.     LinkedNode* pPre=ListHead;    //先前指针  
  11.     LinkedNode* pCur=pPre->next;  //当前指针  
  12.     LinkedNode* pNext=NULL;       //后继指针  
  13.     while(pCur!=NULL)  
  14.     {  
  15.         pNext=pCur->next;  
  16.         pCur->next=pPre;  
  17.         pPre=pCur;  
  18.         pCur=pNext;  
  19.     }  
  20.     ListHead->next=NULL;  
  21.     ListHead=pPre;        //记录下新的头结点  
  22. }  


                

 

 

           示意图:

bubuko.com,布布扣

单链表逆置,布布扣,bubuko.com

单链表逆置

标签:blog   http   strong   width   art   代码   

原文地址:http://www.cnblogs.com/duyy/p/3813087.html

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