当前位置: 代码迷 >> C语言 >> 一个面试c程序
  详细解决方案

一个面试c程序

热度:190   发布时间:2008-05-30 14:22:48.0
帮忙看看......电脑重装系统了....收集的资料也.....写过的代码也....珍藏的东西也..........没了 - -!!!
node_t * ChangeTwoNodes(node_t *list)
{
    if( list )
   {
       for(node_t* pre=0,*ord=list,*post=list->next;
           post; pre=ord,ord=ord->next,post=ord->next)
      {
                 ord->next = post->next;
                 post->next = ord;
                 pre==0?list=post:pre->next = post;
       }
       return list;
     }
     else return 0;
}
----------------解决方案--------------------------------------------------------
难道没有区别么?

[color=white]
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 06:27:34
界水乘风
该用户已被删除
  得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 06:30:43
Loli

来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
  得分:0 
那我告诉你一声,你的第二份代码,效率明显比我的要低

[color=white]
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 06:35:41
中学者

等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
  得分:0 
汗....C风格代码我不喜欢...我秉承我所知的C++...- -
回上面:  是硬件故障....你教我怎么转?
----------------解决方案--------------------------------------------------------
程序代码:

node_t * ChangeTwoNodes(node_t *list)
{
node_t *temp=list->next;
for(node_t *temp;list!=NULL&&list->next!=NULL;list=list->next)
{
  temp=list->next;
  list->next=temp->next;
  temp->next=list;
}
return list&&temp?temp:list;
}

正常思路就是这样吧```  手工缩进 没测试  错也正常`````
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 06:59:25
中学者

等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
  得分:0 
回LS,你确定我的程序异常???我用的C++....
----------------解决方案--------------------------------------------------------
  相关解决方案