template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if (a < b)
if (b < c)
return b;
else
if (a < c)
return c;
else
return a;
else
if (a < c)
return a;
else
if (b < c)
return c;
else
return b;
}
牛.
30 个解决方案
#1
膜拜之
#2
呃。。。。。。。。
#3
这个代码...
偶看不懂
偶看不懂
#4
打入十八层地域
#5
缩进成这样,过1周自己大概也看不明白了..私下觉得把这样的代码风格当大牛不是好事哈..嘿嘿
#6
了理原里之后写了一个:
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
if( b > c)
return b;
else
if(a > c)
return c;
else
return a;
else
if(a > c)
return a;
else
if(b < c)
return c;
else
return b;
}
#7
这样看大家应该看明白了吧
#8
就是abc三个数取中间一个吧...写成函数模板...
汗...这缩进...
汗...这缩进...
#9
lz
想干嘛???
想干嘛???
#10
还可以,少走了点弯路
#11
这个算法我没有看完,我觉得还要考虑相等的情况,希望楼主继续完善吧!
#12
看吧. 这是一个逻辑推理
#13
这么经典的算法 即然没人看的懂. 悲哀
#14
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if (a < b)
{
if (b < c)
return b;
else
{
if (a < c)
return c;
else
return a;
}
}
else
{
if (a < c)
return a;
else
{
if (b < c)
return c;
else
return b;
}
}
}
}
整理一下.
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if (a < b)
{
if (b < c)
return b;
else
{
if (a < c)
return c;
else
return a;
}
}
else
{
if (a < c)
return a;
else
{
if (b < c)
return c;
else
return b;
}
}
}
}
整理一下.
#15
其实我觉得末必要搞得那么复杂吧
#16
这也叫复杂 ? 无语. 这么好的算法 没人欣赏,看来......
#17
整理如下:
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
{
if( b > c)
{
return b;
}
else if(a > c)
{
return c;
}
else
{
return a;
}
}
else
{
if(a > c)
{
return a;
}
else if(b < c)
{
return c;
}
else
{
return b;
}
}
}
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
{
if( b > c)
{
return b;
}
else if(a > c)
{
return c;
}
else
{
return a;
}
}
else
{
if(a > c)
{
return a;
}
else if(b < c)
{
return c;
}
else
{
return b;
}
}
}
#18
// 下边是我以前写的代码,虽然很简单,但现在看起来还是很不错的。
assert( !((a==b) || (a==c) || (b==c)) );
if((a>b && a<c) || (a<b && a>c))
return a;
if((b>a && b<c) || (b<a && b>c))
return b;
if((c>a && c<b) || (c<a && c>b))
return c;
#19
你的算法, 有好多重复的的步骤. 太多渣子了.
#20
我也发一个。。。。
----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。
#include<iostream>
#include<cstdlib>
using namespace std;
int main( void )
{
int a = 6, b = 5, c = 7;
int mod = a > b ? b > c ? b : (a>c ? c : a )
: a > c ? a : ( b>c ? c : b);
cout<< mod <<endl;
system( "pause" );
return 0;
}
----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。
#21
都不错
O(∩_∩)O哈哈~
每个人想法不同
O(∩_∩)O哈哈~
每个人想法不同
#22
%_%见识了!简约而不简单!呵呵呵呵呵呵呵呵
#23
up!
#24
ACM写的多的人写的程序都读不懂
#25
寒。。。
你知道不知道 短路用法, 还有 return 语句用法
只要条件一不符合,就短路退出该if语句。
只要条件一符合,就执行 return 退出函数。
我的算法,以前改了好多次,也反汇编优化了好多次才改成这样子的,
我实在看不出来有什么地方会重复的,和存在什么渣子。
希望能得到指正,谢谢
#26
// 不好意思,自己又进化修改了成了一个版本。
// 这个刚改的,还没测试,还不知道稳不稳定。
assert(!((a==b) || (a==c) || (b==c)) );
return ((a>b && a<c) || (a<b && a>c)) ? a : ((b>a && b<c) || (b<a && b>c)) ? b : c;
#27
晕,,,
现在不看书学习,反而有长进了
哈哈,以前真笨
不好意思,刚才上边说的话,有点激动了
现在不看书学习,反而有长进了
哈哈,以前真笨
不好意思,刚才上边说的话,有点激动了
#28
o
#29
对不起,我错了。。。
太迷信自己写的代码了,自始至终 没注意看楼主发的代码。
那缩进格式,还真可怕。
555,现丑了。
太迷信自己写的代码了,自始至终 没注意看楼主发的代码。
那缩进格式,还真可怕。
555,现丑了。
#30
LS这么多人中,能看代码的人太少了,能看懂的人也太少了.
不错. 有长进.
不错. 有长进.
#1
膜拜之
#2
呃。。。。。。。。
#3
这个代码...
偶看不懂
偶看不懂
#4
打入十八层地域
#5
缩进成这样,过1周自己大概也看不明白了..私下觉得把这样的代码风格当大牛不是好事哈..嘿嘿
#6
了理原里之后写了一个:
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
if( b > c)
return b;
else
if(a > c)
return c;
else
return a;
else
if(a > c)
return a;
else
if(b < c)
return c;
else
return b;
}
#7
这样看大家应该看明白了吧
#8
就是abc三个数取中间一个吧...写成函数模板...
汗...这缩进...
汗...这缩进...
#9
lz
想干嘛???
想干嘛???
#10
还可以,少走了点弯路
#11
这个算法我没有看完,我觉得还要考虑相等的情况,希望楼主继续完善吧!
#12
看吧. 这是一个逻辑推理
#13
这么经典的算法 即然没人看的懂. 悲哀
#14
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if (a < b)
{
if (b < c)
return b;
else
{
if (a < c)
return c;
else
return a;
}
}
else
{
if (a < c)
return a;
else
{
if (b < c)
return c;
else
return b;
}
}
}
}
整理一下.
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if (a < b)
{
if (b < c)
return b;
else
{
if (a < c)
return c;
else
return a;
}
}
else
{
if (a < c)
return a;
else
{
if (b < c)
return c;
else
return b;
}
}
}
}
整理一下.
#15
其实我觉得末必要搞得那么复杂吧
#16
这也叫复杂 ? 无语. 这么好的算法 没人欣赏,看来......
#17
整理如下:
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
{
if( b > c)
{
return b;
}
else if(a > c)
{
return c;
}
else
{
return a;
}
}
else
{
if(a > c)
{
return a;
}
else if(b < c)
{
return c;
}
else
{
return b;
}
}
}
template <class Tp>
inline const Tp& median(const Tp& a, const Tp& b, const Tp& c)
{
if(a > b)
{
if( b > c)
{
return b;
}
else if(a > c)
{
return c;
}
else
{
return a;
}
}
else
{
if(a > c)
{
return a;
}
else if(b < c)
{
return c;
}
else
{
return b;
}
}
}
#18
// 下边是我以前写的代码,虽然很简单,但现在看起来还是很不错的。
assert( !((a==b) || (a==c) || (b==c)) );
if((a>b && a<c) || (a<b && a>c))
return a;
if((b>a && b<c) || (b<a && b>c))
return b;
if((c>a && c<b) || (c<a && c>b))
return c;
#19
你的算法, 有好多重复的的步骤. 太多渣子了.
#20
我也发一个。。。。
----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。
#include<iostream>
#include<cstdlib>
using namespace std;
int main( void )
{
int a = 6, b = 5, c = 7;
int mod = a > b ? b > c ? b : (a>c ? c : a )
: a > c ? a : ( b>c ? c : b);
cout<< mod <<endl;
system( "pause" );
return 0;
}
----------------------------------------------------------------------------------------------------------------------
传说回贴会得到奖励!!!
每天例行工事。。
雁过留声,人过留名。。。。
赚点分,留着以后问问题用。。。
顺便顶下贴。。。
CSDN回贴专用。。
#21
都不错
O(∩_∩)O哈哈~
每个人想法不同
O(∩_∩)O哈哈~
每个人想法不同
#22
%_%见识了!简约而不简单!呵呵呵呵呵呵呵呵
#23
up!
#24
ACM写的多的人写的程序都读不懂
#25
寒。。。
你知道不知道 短路用法, 还有 return 语句用法
只要条件一不符合,就短路退出该if语句。
只要条件一符合,就执行 return 退出函数。
我的算法,以前改了好多次,也反汇编优化了好多次才改成这样子的,
我实在看不出来有什么地方会重复的,和存在什么渣子。
希望能得到指正,谢谢
#26
// 不好意思,自己又进化修改了成了一个版本。
// 这个刚改的,还没测试,还不知道稳不稳定。
assert(!((a==b) || (a==c) || (b==c)) );
return ((a>b && a<c) || (a<b && a>c)) ? a : ((b>a && b<c) || (b<a && b>c)) ? b : c;
#27
晕,,,
现在不看书学习,反而有长进了
哈哈,以前真笨
不好意思,刚才上边说的话,有点激动了
现在不看书学习,反而有长进了
哈哈,以前真笨
不好意思,刚才上边说的话,有点激动了
#28
o
#29
对不起,我错了。。。
太迷信自己写的代码了,自始至终 没注意看楼主发的代码。
那缩进格式,还真可怕。
555,现丑了。
太迷信自己写的代码了,自始至终 没注意看楼主发的代码。
那缩进格式,还真可怕。
555,现丑了。
#30
LS这么多人中,能看代码的人太少了,能看懂的人也太少了.
不错. 有长进.
不错. 有长进.