diff options
Diffstat (limited to 'bsearch.cpp')
-rw-r--r-- | bsearch.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/bsearch.cpp b/bsearch.cpp deleted file mode 100644 index 6172b15..0000000 --- a/bsearch.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/* bsearch.cpp - * Created: 2023-07-10 - * Author: Aryadev Chavali - */ - -#include <algorithm> -#include <cstdlib> -#include <fstream> -#include <iostream> -#include <string> -#include <vector> - -using std::cin; -using std::cout; -using std::endl; -using std::ostream; -using std::string; -using std::vector; - -vector<int> arr; - -ostream &print_arr(ostream &os) -{ - os << "["; - for (size_t i = 0; i < arr.size(); ++i) - os << arr[i] << (i == arr.size() - 1 ? "" : ","); - return os << "]"; -} - -int bsearch(int n, int l = 0, int u = arr.size() - 1) -{ - int midpoint = ((u + l) / 2); - if (l >= u || u <= 0) - return -1; - int val = arr[midpoint]; - if (val == n) - return midpoint; - else if (val > n) - return bsearch(n, l, midpoint - 1); - else - return bsearch(n, midpoint + 1, u); -} - -int main(void) -{ - std::ifstream input("bsearch.txt"); - string line; - while (std::getline(input, line)) - arr.push_back(std::stoi(line)); - std::sort(std::begin(arr), std::end(arr)); - string inp; - cout << "Enter number to search: "; - cin >> inp; - int to_search = std::stoi(inp); - cout << bsearch(to_search) << endl; - return 0; -} |