int currentMinIndex = 0;
for (int front = 0; front < intArray.length; front++)
{
currentMinIndex = front;
for (int i = front; i < intArray.length; i++)
{
if (intArray[i] < intArray[currentMinIndex])
{
currentMinIndex = i;
}
}
int tmp = intArray[front];
intArray[front] = intArray[currentMinIndex];
intArray[currentMinIndex] = tmp;
}
Внутренний цикл итерации: n + (n-1) + (n-2) + (n-3) +... + 1 раз.
Внешний цикл повторяется: n раз.
Итак, вы получаете n * (сумма чисел от 1 до n)
Разве что n * (n * (n + 1)/2) = n * ((n ^ 2) + n/2)
Что было бы (n ^ 3) + (n ^ 2)/2 = O (n ^ 3)?
Я уверен, что делаю это неправильно. Почему не O (n ^ 3)?