File tree Expand file tree Collapse file tree 1 file changed +17
-19
lines changed
src/main/java/com/thealgorithms/searches Expand file tree Collapse file tree 1 file changed +17
-19
lines changed Original file line number Diff line number Diff line change @@ -28,28 +28,26 @@ public final class IterativeBinarySearch implements SearchAlgorithm {
2828 * @return the index of key in the array or -1 if not found
2929 */
3030 @ Override
31- public <T extends Comparable <T >> int find (T [] array , T key ) {
32- int l ;
33- int r ;
34- int k ;
35- int cmp ;
31+ public <T extends Comparable <T >> int find (T [] array , T key ) {
32+ if (array == null || array .length == 0 ) {
33+ return -1 ;
34+ }
3635
37- l = 0 ;
38- r = array .length - 1 ;
36+ int l = 0 ;
37+ int r = array .length - 1 ;
3938
40- while (l <= r ) {
41- k = (l + r ) >>> 1 ;
42- cmp = key .compareTo (array [k ]);
39+ while (l <= r ) {
40+ int mid = (l + r ) >>> 1 ;
41+ int cmp = key .compareTo (array [mid ]);
4342
44- if (cmp == 0 ) {
45- return k ;
46- } else if (cmp < 0 ) {
47- r = --k ;
48- } else {
49- l = ++k ;
50- }
43+ if (cmp == 0 ) {
44+ return mid ;
45+ } else if (cmp < 0 ) {
46+ r = mid - 1 ;
47+ } else {
48+ l = mid + 1 ;
5149 }
52-
53- return -1 ;
5450 }
51+
52+ return -1 ;
5553}
You can’t perform that action at this time.
0 commit comments