From 619f955faad0dddf62be3cd769a3e487ab762614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Phan=20Nguy=E1=BB=85n=20Tu=E1=BA=A5n=20Ki=E1=BB=87t?= <35695324+ketphan02@users.noreply.github.com> Date: Mon, 15 Oct 2018 23:46:42 +0700 Subject: [PATCH] Use while instead of using recursive in C++ (#19320) --- .../algorithms/search-algorithms/binary-search/index.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/client/src/pages/guide/english/algorithms/search-algorithms/binary-search/index.md b/client/src/pages/guide/english/algorithms/search-algorithms/binary-search/index.md index 709678b6f2..3825bb845b 100644 --- a/client/src/pages/guide/english/algorithms/search-algorithms/binary-search/index.md +++ b/client/src/pages/guide/english/algorithms/search-algorithms/binary-search/index.md @@ -181,14 +181,13 @@ int binarySearch(int a[], int l, int r, int x) { ```C++ int binary_search(int arr[], int l, int r, int target) { - if (r >= l) + while (r >= l) { int mid = l + (r - l)/2; if (arr[mid] == target) return mid; - if (arr[mid] > target) - return binary_search(arr, l, mid-1, target); - return binary_search(arr, mid+1, r, target); + if (arr[mid] > target) r = mid - 1; + else l = mid + 1; } return -1; }