关于调整一个单链表结点的问题!

pan666 2005-01-13 11:14:40
一个带头节点的单链表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;
}

}
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
kobefly 2005-01-14
  • 打赏
  • 举报
回复
if(n%2=0) then m=(n-2)/2;
else m=(n-1)/2;

天那
这是什么语言?
还有
then
比较符弄成赋值号,

if(n%2==0) m=(n-2)/2;
else m=(n-1)/2;
dongyuanzhang 2005-01-13
  • 打赏
  • 举报
回复
1.要有注释习惯。
2.优先级:if(n%2=0) then m=(n-2)/2;
else m=(n-1)/2;

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧