From e0d71ad24a70402513f8f024ec03dc38912b2d16 Mon Sep 17 00:00:00 2001 From: AbhiramSakha <143825001+AbhiramSakha@users.noreply.github.com> Date: Sat, 21 Mar 2026 08:36:29 +0530 Subject: [PATCH] Update IterativeBinarySearch.java --- .../searches/IterativeBinarySearch.java | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/thealgorithms/searches/IterativeBinarySearch.java b/src/main/java/com/thealgorithms/searches/IterativeBinarySearch.java index 05fab0534267..89eb18a6311d 100644 --- a/src/main/java/com/thealgorithms/searches/IterativeBinarySearch.java +++ b/src/main/java/com/thealgorithms/searches/IterativeBinarySearch.java @@ -28,28 +28,26 @@ public final class IterativeBinarySearch implements SearchAlgorithm { * @return the index of key in the array or -1 if not found */ @Override - public > int find(T[] array, T key) { - int l; - int r; - int k; - int cmp; +public > int find(T[] array, T key) { + if (array == null || array.length == 0) { + return -1; + } - l = 0; - r = array.length - 1; + int l = 0; + int r = array.length - 1; - while (l <= r) { - k = (l + r) >>> 1; - cmp = key.compareTo(array[k]); + while (l <= r) { + int mid = (l + r) >>> 1; + int cmp = key.compareTo(array[mid]); - if (cmp == 0) { - return k; - } else if (cmp < 0) { - r = --k; - } else { - l = ++k; - } + if (cmp == 0) { + return mid; + } else if (cmp < 0) { + r = mid - 1; + } else { + l = mid + 1; } - - return -1; } + + return -1; }