1 #include "stdafx.h"
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <iostream>
5 typedef struct stData
6 {
7 int n;
8 stData* next;
9 }*pData;
10
11 pData ReverseList(pData pHead)
12 {
13 if (pHead == NULL||pHead->next == NULL)
14 {
15 return pHead;
16 }
17
18 pData newHead = ReverseList(pHead->next);
19
20 pHead->next->next = pHead;
21 pHead->next = NULL;
22
23 return newHead;
24 }
25
26 int main()
27 {
28
29 pData pHead = NULL;
30 for (size_t i = 0; i < 10; i++)
31 {
32 pData p = new stData();
33 p->n = i;
34 p->next = pHead;
35 pHead = p;
36 }
37 pHead = ReverseList(pHead);
38
39 while (pHead != NULL)
40 {
41 printf("%d",pHead->n);
42 pHead = pHead->next;
43 std::cout << " ";
44 }
45
46
47
48 system("pause");
49 return 0;
50 }