Выбор сортировки, количество действий

Jozikas спросил: 26 ноября 2017 в 05:32 в: c++

Мне нужно получить количество действий сравнения и количество действий копирования. Это должно быть около ~ 4. По этой формуле, но я получаю примерно ~ 2 (мой n равен 2, поэтому он должен быть 2 ^ 2 = 4). Что не так?

void selection(double A[], int N)
{
    int i, j, min, tmp;
    for (i = 1; i < N; i++)
    {
        min = i;
        for (j = i + 1; j < N; j++)
            if (A[j] < A[min]) {
                noofcomparison++;
                min = j;
            }
            if (min != i)
            {
                noofcomparison++;
                tmp = A[i];
                A[i] = A[min];
                A[min] = tmp;
                noofcopying += 3;
            }
        }
    }
}

Полный код: https://repl.it/repls/WobblyMountainousDegus

0 ответов