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

一个面试c程序

热度:176   发布时间:2008-05-30 13:40:42.0
燕子的很好。。我一直掉线啊。。。
#include<stdio.h>
#include<malloc.h>
typedef struct node_t
{
    int a;
    struct node_t *next;
}node_t;
node_t * ChangeTwoNodes(node_t *list)
{
    if(list==NULL) return NULL;
    if(list->next==NULL) return list;
    node_t *pret=list->next,*p, *t;    
    for (t=list; (list) && (p=list->next); list=list->next)
    {
        t->next = p;
        list->next = p->next;
        p->next = t = list;
    }
    return pret;
}
node_t * makenode(node_t *list,int n,int i)
{
    list=(node_t *)malloc(sizeof(node_t ));
    list->a=n;
    list->next=NULL;
    if(n==i)
        return list;
    else
    {
        list->next=makenode(list->next,++n, i);
        return list;
    }
}
int main()
{
  node_t *list,*p;
  list=makenode(list,1,6);
  for(p=list;p;p=p->next)
      printf("%d ",p->a);
  printf("\n");
  p=ChangeTwoNodes(list);
  for(;p;p=p->next)
      printf("%d ",p->a);
  printf("\n");
  return 0;
}
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 05:45:13
sunkaidong

来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4493
专家分:141
注 册:2006-12-28
  得分:0 
代码还好了。。只是有的时候集成太高。。不太容易理解。。但是也是提升自己得一种方法。。看的懂别人的代码是做维护是必须的
----------------解决方案--------------------------------------------------------
呵呵,楼主你先分析一下算法吧
楼主的第三份代码的算法给我的感觉还好,之于第一第二份。。。

[color=white]
----------------解决方案--------------------------------------------------------
我听别人说过,燕子代码看得懂是享受,看不懂是难受。。其实燕子的代码看的懂的话,你会觉得很漂亮。。。也很细腻。。
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 06:08:06
Loli

来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
  得分:0 
请问楼主你看明白我的方法没有呢?
我刚刚没看清楚你的第三种,现在才发现你的第三种比你的第一第二种更那啥。。。

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

来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4493
专家分:141
注 册:2006-12-28
  得分:0 
递归是我写的。。。只是为了看结果。。。当然循环也可以
----------------解决方案--------------------------------------------------------
  相关解决方案