Добавить приращение для подсчета примитивных операций - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь подсчитать примитивные операции в этом алгоритме сортировки пузырьков. Я знаю, что это в O (N). Мне нужно добавить счетчики для подсчета примитивных операций. Тем не менее, я запутался в том, где я должен разместить счетчики, особенно в течение l oop. Это код на C ++. Спасибо

void bubbleSort(int arr[], int n)  
{  
    int i, j;
    bool swapped; 
    int comparisons=0;  
    for (i = 0; i < n; i++)  {
     swapped = false;
    // Last i elements are already in place  
    for (j = 0; j < n-i-1; j++)
    {
        comparisons++;
        if (arr[j] > arr[j+1])  
            {
                int temp = arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
                swapped = true; 
            }  
    }
    if (swapped == false) 
        break;  
    }
    cout << "Number of comparisons = " << comparisons << endl;
} 
...