```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "malloc.h"
typedef struct node{
int data;
struct node *next;
}NODE,*Linklist;
Linklist changlist(Linklist h){
NODE *p,*q,*r,*s;
p=q=h;
while(q->next!=NULL){
p=p->next;
q=q->next;
if(q->next!=NULL)
q=q->next;
}
q=p->next;
p->next=NULL;
while(q!=NULL){
r=q->next;
p->next=q->next;
q=p->next;
q=r;
}
s=h->next;
q=p->next;
p->next=NULL;
while(q!=NULL){
r=q->next;
q->next=s->next;
s->next=q;
s=q->next;
q=r;
}
return h;
}
void main(){
Linklist L=(Linklist)malloc(sizeof(NODE));
NODE *b,*a=L;
L->data=1;
L->next=NULL;
int i;
for(i=0;i<10;i++)
{
b=(NODE *)malloc(sizeof(NODE));
b->data=i+2;
a->next=b;
a=b;
}
a->next=NULL;
changlist(&L);
int j;
for(j=0;j<10;j++)
{
printf("%d",L->data);
L=L->next;
}
}
下面代码实现(1,2,3,4,5,6,7,8,9,10)变换为(1,10,2,9,3,8,4,7,5,6),哪里出问题了?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- orange4reg 2021-08-04 12:47关注
int k;
for(k=0;k<10;k++)
{
printf("%d",L->data);
L=L->next;}
L这里已经是链表尾了?
解决 无用评论 打赏 举报
悬赏问题
- ¥20 ARKts悬浮窗和快捷方式问题
- ¥15 comparecluster没有办法kegg
- ¥15 远程访问linux主机超时
- ¥15 odoo17存货管理优势于中国国内该行业传统ERP或MES的详细解读和举例
- ¥15 CPU卡指令整合指令数据都在图片上
- ¥15 odoo17处理受托加工产品
- ¥15 如何用MATLAB编码图三的积分
- ¥15 圆孔衍射光强随孔径变化
- ¥15 MacBook pro m3max上用vscode运行c语言没有反应
- ¥15 ESP-PROG配置错误,ALL ONES