/
fluffymax2005
/
algorithms
Обзор
Документация
Войти
/
fluffymax2005
/
algorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
binary_search.cpp
47 строк
1 KB
fluffymax2005
Init commit for initial algorithms
16 фев 2026, 10:37
16 фев 2026, 10:37
85155db
Код
Авторство
О чём код?
#include <iostream> #include <new> #include <ostream> #include <stdlib.h> template <typename T> class BinarySearch { public: static size_t search(const T *arr, const size_t length, const T &value) { size_t low = 0, high = length - 1; while (low <= high) { size_t mid = (low + high) / 2; if (arr[mid] == value) return mid; else if (arr[mid] > value) high = mid - 1; else low = mid + 1; } return -1; } static T *createSortedArray(const size_t length) { T *arr = new (std::nothrow) T[length]; if (arr) { size_t seed = rand() % 16; arr[0] = seed; for (size_t i = 1; i < length; ++i) { arr[i] = seed + i * 2; } } return arr; } static void printArray(T *arr, size_t length, std::ostream &os = std::cout) { if (arr == nullptr || length < 1) return; os << "Arr = ["; for (auto i = 0; i < length; ++i) { if (i == length - 1) os << arr[i] << "]"; else os << arr[i] << ", "; } } };