Skip to content

Commit cf6dcc4

Browse files
fixed binary search (#64)
1 parent 3a0b34c commit cf6dcc4

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

searches/binary_search.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ int search(const int *arr, int len, int key) {
1111
int low = 0;
1212
int high = len - 1;
1313
while (low <= high) {
14-
int mid = (low + high) >> 1;
14+
int mid = low + (high - low) / 2;
1515
if (key == arr[mid]) {
1616
return mid;
1717
} else if (key > arr[mid]) {

searches/binary_search_recursion.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ int search(const int *arr, int key, int low, int high) {
1212
if (low > high) {
1313
return -1;
1414
}
15-
int mid = (low + high) / 2;
15+
int mid = low + (high - low) / 2;
1616
if (key == arr[mid]) {
1717
return mid;
1818
} else if (key > arr[mid]) {
1919
return search(arr, key, mid + 1, high);
2020
} else {
21-
return search(arr, key, 0, mid - 1);
21+
return search(arr, key, low, mid - 1);
2222
}
2323
}
2424

0 commit comments

Comments
 (0)