用Java对3个值进行排序的最快方法

我必须按正确的顺序放置3个值,然后将它们打印到控制台。

一种解决方案是将它们放入数组,然后对它们进行排序,但是(从学校时代开始)我记得比较和排序它们的速度更快,但是我找不到正确的比较顺序。

您能否告诉我如何将3个值与最少的if语句数进行比较?

回答:

优化这一点没有意义。它不会获得任何速度。3的O(n!)仍然只有3 * 2 = 6个运算。甚至O(2 ^

n)也将是8。您实际上可以执行将这3个值排序的任何操作,而不会看到性能上的差异。

编辑

int a, b, c, min, max, med;//assume values are there for a b c

if( a > b ){

if( a > c ){

max = a;

if( b > c ){

med = b;

min = c;

}else{

med = c;

min = b;

}

}else{

med = a;

max = c;

min = b;

}

}else{

if( b > c ){

max = b;

if( a > c ){

med = a;

min = c;

}else{

med = c;

min = a;

}

}else{

med = b;

max = c;

min = a;

}

}

以上是 用Java对3个值进行排序的最快方法 的全部内容, 来源链接: utcz.com/qa/405392.html

回到顶部