List Reverse( List L )
{
PtrToNode h,ln;
int i=0;
if(!L) return NULL; //空表
else if(!L->Next) return L; //只有一个结点
else{
ln=L->Next; //逆转第一个结点
h=L;
L->Next=NULL;
L=ln;
ln=ln->Next;
i++;
while(ln)
{
L->Next=h; //逆转后续结点
h=L;
L=ln;
ln=ln->Next;
}
L->Next=h; //收尾操作
h=L;
}
return h;
}
{
PtrToNode h,ln;
int i=0;
if(!L) return NULL; //空表
else if(!L->Next) return L; //只有一个结点
else{
ln=L->Next; //逆转第一个结点
h=L;
L->Next=NULL;
L=ln;
ln=ln->Next;
i++;
while(ln)
{
L->Next=h; //逆转后续结点
h=L;
L=ln;
ln=ln->Next;
}
L->Next=h; //收尾操作
h=L;
}
return h;
}