구현 코드, 예제 1페이지씩
예제 → 입력데이터, (일부)중간과정, 결과물 작성
int binarySearch(int arr[], int l, int r, int x)
{
while (l <= r) {
int m = l + (r - l) / 2;
if (arr[m] == x) return m;
if (arr[m] < x) l = m + 1;
else r = m - 1;
}
return -1;
}
input : arr = {3, 7, 14, 17, 23, 29, 30}, x = 14
l | r | m | arr[m] | return |
---|---|---|---|---|
0 | 6 | 3 | 17 | |
0 | 2 | 1 | 7 | |
2 | 2 | 2 | 14 | 2 |