标签:eve 存储 point == text bsp lib 裁判 span
1 List Reverse( List L );
其中 List结构定义如下:
1 typedef struct Node *PtrToNode; 2 struct Node { 3 ElementType Data; /* 存储结点数据 */ 4 PtrToNode Next; /* 指向下一个结点的指针 */ 5 }; 6 typedef PtrToNode List; /* 定义单链表类型 */
L是给定单链表,函数 Reverse要返回被逆转后的链表。
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 typedef int ElementType; 5 typedef struct Node *PtrToNode; 6 struct Node { 7 ElementType Data; 8 PtrToNode Next; 9 }; 10 typedef PtrToNode List; 11 12 List Read(); /* 细节在此不表 */ 13 void Print( List L ); /* 细节在此不表 */ 14 15 List Reverse( List L ); 16 17 int main() 18 { 19 List L1, L2; 20 L1 = Read(); 21 L2 = Reverse(L1); 22 Print(L1); 23 Print(L2); 24 return 0; 25 } 26 27 /* 你的代码将被嵌在这里 */
5 1 3 4 5 2
1 2 5 4 3 1
1 List Reverse(List L) 2 { 3 if(L==NULL)return NULL; 4 if(L->Next==NULL)return L; 5 List p,t,q; 6 int point=0; 7 q=p=t=L; 8 while(t!=NULL) 9 { 10 if(point==0) 11 { 12 p=q->Next; 13 q->Next=NULL; 14 t=p->Next; 15 p->Next=q; 16 point=1; 17 } 18 else 19 { 20 q=p; 21 p=t; 22 t=t->Next; 23 p->Next=q; 24 } 25 } 26 return p; 27 }
标签:eve 存储 point == text bsp lib 裁判 span
原文地址:https://www.cnblogs.com/wyjgr/p/13073245.html