Эффективность алгоритма бинарного поиска элемента в массиве

Имеется функция для поиска заданного элемента в массиве, высчитываю время работы алгоритма вот так:

 unsigned int start_1 = clock();
     result = searchElementForSortMassiv(arrayForSearch, size_array, needNumber);
    unsigned int end_1 = clock();
    cout << "Время работы алгоритма поиска:";
    cout << "Completed for   " << (double)(end_1 - start_1) / CLOCKS_PER_SEC << "  second" << endl;

При любой размерности массив выдаёт результат "0 секунд", разве может такое быть? При линейном поиске время работы алгоритма считается нормально.

template <class T>
int searchElementForSortMassiv(T* array, int length_array, int needNumber) {
    int left = 0;
    int right = length_array - 1;
    int mid;
    bool flag =false;

    while ((left <= right) && (flag != true)) {
        mid = ((left + right) / 2);
        if (array[mid] == needNumber) { 
            flag = true;

        } else
        if (array[mid] < needNumber) {
            left = mid + 1;
        }
        else right= mid - 1;
    }
    
    if (flag == true)  return mid;
    else return -1;
  
}

Ответы (0 шт):