From 8270d86b6137e959c30df159607056a1d9f5dabe Mon Sep 17 00:00:00 2001 From: Shoaib19 Date: Tue, 11 Apr 2023 22:58:55 +0500 Subject: [PATCH] first try binary search --- searching_algos/binary_search.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/searching_algos/binary_search.cpp b/searching_algos/binary_search.cpp index 58a4f68..2475ea4 100644 --- a/searching_algos/binary_search.cpp +++ b/searching_algos/binary_search.cpp @@ -3,15 +3,21 @@ int binary_search(int arr[],int size, int key) int mid = size / 2; if(arr[mid] == key) return mid; - while(mid > 0 && mid < size) + int low = 0; + int high = size - 1; + + while(arr[mid] != key) { if(key < arr[mid]) { - mid = mid / 2; + high = mid; + mid = low + high / 2; } else if(key > arr[mid]) { - + low = mid; + mid = low + high / 2; } } + return (arr[mid] == key) ? mid : -1; } \ No newline at end of file