- typedef int DataType; //类型定义
- typedef struct node{ //单链表定义
- DataType data;
- struct node* next;
- }LinkedNode,*LinkList;
-
-
- //返回为空值
-
- void ReverseList(LinkedNode* pCur,LinkList& ListHead)
- {
- if( (NULL==pCur)||(NULL==pCur->next) )
- {
- ListHead=pCur;
- }
- else
- {
- LinkedNode* pNext=pCur->next;
- ReverseList(pNext,ListHead); //递归逆置后继结点
- pNext->next=pCur; //将后继结点指向当前结点。
- pCur->next=NULL;
- }
- }
- //返回值为结点
-
- LinkedNode* ReverseList(LinkedNode* pCur,LinkList& ListHead)
- {
- cout<<"Begin to Reverse the List"<<endl;
- if( (NULL==pCur)||(NULL==pCur->next) )
- {
- ListHead=pCur;
- return pCur;
- }
- else
- {
- LinkedNode* pTemp=ReverseList(pCur->next,ListHead); //递归逆置后继结点
- pTemp->next=pCur; //将后继结点指向当前结点
- pCur->next=NULL;
- return pCur;
- }
- }