基本思想:在遍历结点过程中,设置辅助指针,用于记录先前遍历的结点。这样依次编译的过程中只需修改其后继结点的next域即可。
实现代码:
- typedef int DataType;
- typedef struct node{
- DataType data;
- struct node* next;
- }LinkedNode,*LinkList;
- void ReverseList(LinkList& ListHead)
- {
- cout<<"Begin to Reverse the List"<<endl;
- if( (NULL==ListHead)||(NULL==ListHead->next) )return ;
- LinkedNode* pPre=ListHead;
- LinkedNode* pCur=pPre->next;
- LinkedNode* pNext=NULL;
- while(pCur!=NULL)
- {
- pNext=pCur->next;
- pCur->next=pPre;
- pPre=pCur;
- pCur=pNext;
- }
- ListHead->next=NULL;
- ListHead=pPre;
- }
示意图:
![bubuko.com,布布扣](http://my.csdn.net/uploads/201205/28/1338215225_3641.jpg)
单链表逆置,布布扣,bubuko.com
单链表逆置
原文:http://www.cnblogs.com/duyy/p/3813087.html