minsort
// findMin(M, N) finds the index of the minimum among
// array[M], array[M+1], ...., array[N-1].
  
  int findMin(int minSoFar, int N)
    {
    // by default, the element at minSoFar is the minimum

    for( int j = minSoFar+1; j < N; j++ )
      {
      if( array[j] < array[minSoFar] )
        {
        minSoFar = j;   // a smaller value is found
        }
      }
    return minSoFar;
    }

Analysis: < N - minSoFar - 2 steps