首页 > 代码库 > 代码之美 - 小函数总结

代码之美 - 小函数总结

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两个数 + - * /运算,和/差的平均

 

代码之美 - 小函数总结