首页 > 其他 > 详细

代码之美 - 小函数总结

时间:2016-12-19 08:40:24      阅读:90      评论:0      收藏:0      [点我收藏+]

1. 快排三数取中

int Mid_of_Three(int a[],int left,int right) 
{
    int mid=left + (right-left)/2;
 
    if(a[right] < a[left])  Swap(a,left,right);
    if(a[right] < a[mid])   Swap(a,mid,right);
    if(a[left] < a[mid])    Swap(a,left,mid);
  
    return left;
}

2. 两次比较返回三数中值

int Mid_of_Three(int a,int b,int c)
{
    if( (a-b)*(a-c) < 0 )  return a;
    if( (b-a)*(b-c) < 0 )  return b;
    else  return c;
}

3. 二叉树高度

int Cal_Height(point tree)    // 版本1
{
     int n_lc=0, n_rc=0;
     if(!tree)   return 0;
     else{
         n_lc = cal_height(tree->lc);
         n_rc = cal_height(tree->rc);
      // return (n_lc > n_rc) ? (n_lc+1):(n_rc+1);    //两个均可  +1 是代表当前根节点
         return 1 + max(cal_height(tree->lc), cal_height(tree->rc));
     }
 }
int Cal_Height(point tree)    // 版本2
{
      if(!tree)   return 0;
      else  return  1 + max(cal_height(tree->lc), cal_height(tree->rc));
}

4. 高效输出64位长整型

void PrintInt64(long long a)  
{  
       if (a<=100000000)
           printf("%d/n", a);  
       else {  
           printf("%d", a/100000000);  
           printf("%08d/n", a%100000000);  
       }  
} 

5. a和b两个数 + - * /运算,和/差的平均

 

代码之美 - 小函数总结

原文:http://www.cnblogs.com/wjcx-sqh/p/6195986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!