linklist listtranspose(linklist L)
{
linklist r,t,s;
while(!L||!(L->next))
return L;
r=L;
s=r->next;
t=s->next;
L->next=NULL;
while(t!=NULL)
{
s->next=r;
r=s;
s=t;
t=t->next;
}
s->next=r;
return s;
}
int main(void)
{
int n,x,y;
linklist L;
printf("输入链表长度:");
scanf("%d",&n);
printf("输入链表:\n");
L=createlist(n);
listtranspose(L);
printflist(L);
return 0;
}

链表转置问题,求大神看看哪错了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 小灸舞 2016-05-22 03:20关注
看不到完整代码,楼主先试试下面的,不行的话贴上完整代码
或者自己单步调试
PS:单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。linklist listtranspose(linklist L) { linklist r,t,s; while(!L||!(L->next)) return L; r=NULL; t=L->next; while(t!=NULL) { s = t->next; t->next = r; r=t;//移动指针 t=s; } L->next=r; return L; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报