From 56cfef301e8213933fcd5ff6f8db878ae571c28a Mon Sep 17 00:00:00 2001 From: Isha Kalra Date: Fri, 20 Oct 2017 01:05:03 +0530 Subject: [PATCH 1/4] Added Binary Search [C++] --- binary_search/binarysearch.cpp | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 binary_search/binarysearch.cpp diff --git a/binary_search/binarysearch.cpp b/binary_search/binarysearch.cpp new file mode 100644 index 00000000..74c0f00f --- /dev/null +++ b/binary_search/binarysearch.cpp @@ -0,0 +1,47 @@ +#include +using namespace std; +int binarySearchIterative(int array[], int start, int end, int find) +{ + while(end >= start) + { + int mid = start + (end - start)/2; + + if(array[mid] == find) + return mid; + + else if(array[mid] < find) + start = mid + 1; + + else + end = mid - 1; + } + return -1; +} + +int binarySearchRecursive(int array[], int start, int end, int find) +{ + if(end >= start) + { + int mid = start + (end - start)/2; + + if(array[mid] == find) + return mid; + + else if(array[mid] > find) + return binarySearchRecursive(array, start, mid - 1, find); + + else + return binarySearchRecursive(array, mid + 1, end, find); + } + return -1; +} + +int main() +{ + int array[] = { 1, 2, 3, 4, 5, 6, 11, 23, 25, 66, 88, 99, 113 }; + int end = sizeof(array)/sizeof(array[0]); + cout< Date: Sat, 21 Oct 2017 22:25:40 +0530 Subject: [PATCH 2/4] Updated Binary Search [C++] --- binary_search/binarysearch.cpp | 63 +++++++++++++++------------------- 1 file changed, 27 insertions(+), 36 deletions(-) diff --git a/binary_search/binarysearch.cpp b/binary_search/binarysearch.cpp index 74c0f00f..a519634b 100644 --- a/binary_search/binarysearch.cpp +++ b/binary_search/binarysearch.cpp @@ -2,46 +2,37 @@ using namespace std; int binarySearchIterative(int array[], int start, int end, int find) { - while(end >= start) - { - int mid = start + (end - start)/2; - - if(array[mid] == find) - return mid; - - else if(array[mid] < find) - start = mid + 1; - - else - end = mid - 1; - } - return -1; + while(end >= start) + { + int mid = start + (end - start)/2; + if(array[mid] == find) + return mid; + else if(array[mid] < find) + start = mid + 1; + else + end = mid - 1; + } + return -1; } - int binarySearchRecursive(int array[], int start, int end, int find) { - if(end >= start) - { - int mid = start + (end - start)/2; - - if(array[mid] == find) - return mid; - - else if(array[mid] > find) - return binarySearchRecursive(array, start, mid - 1, find); - - else - return binarySearchRecursive(array, mid + 1, end, find); - } - return -1; + if(end >= start) + { + int mid = start + (end - start)/2; + if(array[mid] == find) + return mid; + else if(array[mid] > find) + return binarySearchRecursive(array, start, mid - 1, find); + else + return binarySearchRecursive(array, mid + 1, end, find); + } + return -1; } - int main() { - int array[] = { 1, 2, 3, 4, 5, 6, 11, 23, 25, 66, 88, 99, 113 }; - int end = sizeof(array)/sizeof(array[0]); - cout< Date: Wed, 25 Oct 2017 19:45:27 +0530 Subject: [PATCH 3/4] Update #2 main method now returns 0. --- binary_search/binarysearch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/binary_search/binarysearch.cpp b/binary_search/binarysearch.cpp index a519634b..d457f889 100644 --- a/binary_search/binarysearch.cpp +++ b/binary_search/binarysearch.cpp @@ -34,5 +34,5 @@ int main() int end = sizeof(array)/sizeof(array[0]); cout< Date: Sat, 28 Oct 2017 23:32:11 +0530 Subject: [PATCH 4/4] Added requested changes Used underscores in place of camelCases, added spaces and blank lines. --- binary_search/binarysearch.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/binary_search/binarysearch.cpp b/binary_search/binarysearch.cpp index d457f889..648795a5 100644 --- a/binary_search/binarysearch.cpp +++ b/binary_search/binarysearch.cpp @@ -1,6 +1,8 @@ #include + using namespace std; -int binarySearchIterative(int array[], int start, int end, int find) + +int binary_search_iterative(int array[], int start, int end, int find) { while(end >= start) { @@ -14,7 +16,8 @@ int binarySearchIterative(int array[], int start, int end, int find) } return -1; } -int binarySearchRecursive(int array[], int start, int end, int find) + +int binary_search_recursive(int array[], int start, int end, int find) { if(end >= start) { @@ -22,17 +25,18 @@ int binarySearchRecursive(int array[], int start, int end, int find) if(array[mid] == find) return mid; else if(array[mid] > find) - return binarySearchRecursive(array, start, mid - 1, find); + return binary_search_recursive(array, start, mid - 1, find); else - return binarySearchRecursive(array, mid + 1, end, find); + return binary_search_recursive(array, mid + 1, end, find); } return -1; } + int main() { int array[] = { 1, 2, 3, 4, 5, 6, 11, 23, 25, 66, 88, 99, 113 }; int end = sizeof(array)/sizeof(array[0]); - cout<