Visual Studio считает время выполнения сортировки подсчетом и сравнением неверно, чем больше чисел в массиве для сортировки, тем меньше время выполнения. В чем может быть проблема?
Используемый код:
//Начало отсчёта времени
auto begin = chrono::steady_clock::now();
// Создание и заполнение нулями массива Count
int* Count = new int[n];
for (int i = 0; i < n; i++)
Count[i] = 0;
// Заполнение массива Count номерами для каждого элемента массива А
for (int i = 0; i < n - 1; i++)
for (int j = i + 1; j < n; j++)
if (a[i] < a[j])
Count[j]++;
else
Count[i]++;
// Создание массива с отсортированными данными
int* R = new int[n];
for (int i = 0; i < n; i++)
R[Count[i]] = a[i];
//Конец отсчета времени
auto end = chrono::steady_clock::now();
auto elapsed_ns = chrono::duration_cast<chrono::nanoseconds>(end - begin);
long double time = elapsed_ns.count() / pow(10, 9);
cout « " Время выполнения : " « setprecision(20) « time « " msec" « endl;