Skip to content

Commit 5d0a480

Browse files
calcuate middle index (#110)
1 parent 0db265e commit 5d0a480

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

src/main/java/com/examplehub/searches/BinarySearch.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.examplehub.searches;
22

3+
import com.examplehub.maths.MiddleIndexCalculate;
4+
35
public class BinarySearch implements Search {
46

57
/**
@@ -14,7 +16,7 @@ public int search(int[] numbers, int key) {
1416
int left = 0;
1517
int right = numbers.length - 1;
1618
while (left <= right) {
17-
int mid = left + (right - left) / 2;
19+
int mid = MiddleIndexCalculate.middle(left, right);
1820
if (key == numbers[mid]) {
1921
return mid;
2022
} else if (key > numbers[mid]) {

src/main/java/com/examplehub/searches/BinarySearchRecursion.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.examplehub.searches;
22

3+
import com.examplehub.maths.MiddleIndexCalculate;
4+
35
public class BinarySearchRecursion implements Search {
46

57
@Override
@@ -20,7 +22,7 @@ public int search(int[] numbers, int left, int right, int key) {
2022
if (left > right) {
2123
return -1;
2224
}
23-
int mid = left + (right - left) / 2;
25+
int mid = MiddleIndexCalculate.middle(left, right);
2426
if (key == numbers[mid]) {
2527
return mid;
2628
} else if (key >= numbers[mid]) {
@@ -49,7 +51,7 @@ public <T extends Comparable<T>> int search(T[] array, int left, int right, T ke
4951
if (left > right) {
5052
return -1;
5153
}
52-
int mid = left + (right - left) / 2;
54+
int mid = MiddleIndexCalculate.middle(left, right);
5355
if (key.compareTo(array[mid]) == 0) {
5456
return mid;
5557
} else if (key.compareTo(array[mid]) > 0) {

src/main/java/com/examplehub/sorts/MergeSort.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.examplehub.sorts;
22

3+
import com.examplehub.maths.MiddleIndexCalculate;
4+
35
public class MergeSort implements Sort {
46

57
@Override
@@ -21,7 +23,7 @@ public <T extends Comparable<T>> void sort(T[] array) {
2123
*/
2224
public static void mergeSort(int[] numbers, int left, int right) {
2325
if (left < right) {
24-
int middle = (left + right) >> 1;
26+
int middle = MiddleIndexCalculate.middle(left, right);
2527
mergeSort(numbers, left, middle);
2628
mergeSort(numbers, middle + 1, right);
2729
merge(numbers, left, right);

0 commit comments

Comments
 (0)