关于调整一个单链表结点的问题!
一个带头节点的单链表A,A={a1,a2,a3,.....an}如果n为奇数,将A排列成{a2,a4...,an-1,a1,a3..an},n为偶数,排列成{a2,a4,..an,a1,a3,...,an-1}
我是把节点为奇数的逐个抽出来放到链表尾部
程序如下,我上机时输出的结果总是有问题,请各位帮我看看,有什么问题
void abc(slink *l )
{ int m,n,i;
n=length(l);
if(n%2=0) then m=n-2/2;
else m=n-1/2;
slinkp,k,q;
p=k=l;
q=l->next;
whlie(k->next!=null){k=k->next;}
for(i=0,i<m,i++)
{p->next=q->next;
q->next=null;
k->next=q;
p=p->next;
q=p->next;
}
}