优化这一点没有意义。它不会获得任何速度。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 cif( 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; }}


