以下程序实现了找第二小元素的算法。输入时 n 个不等的数构成的数组 S,输出 S 中第二小的数 SecondMin。在最坏的情况下,该算法需要做( )次比较。
if ( S[1] < S[2] ) { FirstMin = S[1]; SecondMin = S[2]; } else { FirstMin = S[2]; SecondMin = S[1]; } for ( i = 3; i <= n; i++ ) if ( S[i] < SecondMin ) if ( S[i] < FirstMin ) { SecondMin = FirstMin; FirstMin = S[i]; } else { SecondMin = S[i]; }
2n
n-1
2n-3
2n-2