简单链表

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 struct MyStruct
 5 {
 6     int data;//数据域
 7     struct MyStruct *pNext;//指针域
 8 };
 9 
10 // 递归实现链表数据打印
11 void show(struct MyStruct *p)
12 {
13     if (p == NULL)
14     {
15         return;
16     }
17     else
18     {
19         show(p->pNext);//跳到下一个节点  放打印之前逆序之后顺序
20         printf("%d %p  %p\n", p->data, p, p->pNext);
21     }
22 }
23 
24 void main()
25 {
26     struct MyStruct *p;
27     struct MyStruct s1;
28     struct MyStruct s2;
29     struct MyStruct s3;
30     struct MyStruct s4;
31     struct MyStruct s5;
32     p = &s1;
33     s1.data = 1;
34     s2.data = 2;
35     s3.data = 3;
36     s4.data = 4;
37     s5.data = 5;
38 
39     s1.pNext = &s2;
40     s2.pNext = &s3;
41     s3.pNext = &s4;
42     s4.pNext = &s5;
43     s5.pNext = NULL;
44 
45     /*
46 
47     printf("%d\n", p->data);
48     printf("%d\n", p->pNext->data);
49     printf("%d\n", p->pNext->pNext->data);
50     printf("%d\n", p->pNext->pNext->pNext->data);
51 
52     */
53 
54     show(p); // 调用递归
55 
56     /*
57 
58     for循环实现链表数据打印
59     for (struct MyStruct *px = p; px != NULL;px=px->pNext)
60     {
61         printf("%d %p  %p\n", px->data,px,px->pNext);
62     }
63 
64     */
65 
66     system("pause");
67 }

 

posted on 2015-05-21 12:59  Dragon-wuxl  阅读(110)  评论(0)    收藏  举报

导航