Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318016
  • 博文数量: 93
  • 博客积分: 2515
  • 博客等级: 少校
  • 技术积分: 1025
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-18 22:51
文章分类

全部博文(93)

文章存档

2010年(2)

2009年(26)

2008年(65)

我的朋友

分类:

2009-01-07 17:08:46

在一个博客中看到一个面试题。就摘录下来了。
/*
5.现已知单向链表,节点数未知,但肯定是奇数个.不能用计数的方法,实现函数并返回中间的那个节点.
*/
struct data{
    
struct data *next;
}
struct data *find_middle(struct data *head)
{
    
if(!head->next) return head;
    
struct data *p,*q;
    p 
= head;
    q 
= p->next;
    
while(q)
    {
        p
++;
        q 
= q+2;
    }
    
return p;
}



/* 
1.请修正下面的宏定义中的错 
*/
#define MAX(a,b) ((a > b)?a:b)

/*
Egg的答案: 
*/
#define MAX((a),(b))    (((a) > (b)) ? (a):(b))

阅读(543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~