首页 > 代码库 > 代码之美 - 小函数总结
代码之美 - 小函数总结
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两个数 + - * /运算,和/差的平均
代码之美 - 小函数总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。