Binary Search
Is an algorithm for finding an element's position in a sorted array/vector in logarithmic time and constant space.
Using Binary Search with DTL
#include "vector.hpp"
#include "binary_search.hpp"
#include <iostream>
int main() {
dby::vector<int> vec = { 1, 2, 3, 6, 7, 9, 11, 12, 99 };
std::cout << "POS -> VAL: 7 = " << dby::BinarySearch::recursive(vec, 7); // 4
std::cout << "\nPOS -> VAL: 20 = " << dby::BinarySearch::recursive(vec, 20); // -1
std::cout << "\nPOS -> VAL: 590 = " << dby::BinarySearch::recursive(vec, 590); // -1
std::cout << "\nPOS -> VAL: 0 = " << dby::BinarySearch::iterative(vec, 0); // -1
std::cout << "\nPOS -> VAL: 1 = " << dby::BinarySearch::iterative(vec, 1); // 0
std::cout << "\nPOS -> VAL: 99 = " << dby::BinarySearch::iterative(vec, 99); // 8
return 0;
}