关于单链表的就地逆置
typedef struct node{int data;
struct node *next;
} *LinkList
Status InitList(LinkList *L) 创建 运行程序的时候C里面显示是这一行语法错误,想问一下哪里错了?
{*L=(LinkList)malloc(size0f(node)); 谢谢:-D
if(!(*L))
exit(error);
(*L)->next=NULL;
return OK;
}
Status CreatList(LinkList ,int n) 输入
{LinkList p=L;
int i;
for(i=0;i<n;i++)
{p->next=(LinkList)malloc(sizeof(node));
if(!(p->next))
exit(error);
scanf("%d",&p->next->data);
p=p->next;
p->next=NUll;
return OK;
}
}
Status DisplayList(LinkList L) 输出
{LinkList p;
p=L->next;
while(p)
{printf("%d",p->data);
p=p->next;
}
printf("\n");
}
Status leverse (LinkList L) 逆置
{LinkList r=L->next,q;
L->next-NULL;
while(r)
{q=r->next;
r->next=L->next;
L->next=r;
r=q;
}
}
void main()
{LinkList L;
int m;
InitList(&L);
printf("请输入长度:\n");
scanf("%d",&m);
if(m<1)
exit(error)
printf("请依次输入元素值 \n");
CreatList(L,m);
DisplayList(L);
Leverse(L);
printf("显示逆置之后的元素值 \n");
DisplayList(L):
}