C언어 이진탐색 구현

1 개요[ | ]

C언어 이진탐색 구현
#include <stdio.h>

int binarySearch(int* arr, int low, int high, int target) {
    if (low > high) {
        return -1;
    }
    int mid = (low + high) / 2;
    if (target < arr[mid]) {
        return binarySearch(arr, low, mid - 1, target);
    }
    if (arr[mid] < target) {
        return binarySearch(arr, mid + 1, high, target);
    }
    return mid;
}

int main() {
    int numbers[] = {1,3,5,7,9,11,13,15,17,19};
    int size = 10;
    printf("%d\n", binarySearch(numbers, 0, size-1, 5)); // 2
    printf("%d\n", binarySearch(numbers, 0, size-1, 2)); // -1
    printf("%d\n", binarySearch(numbers, 0, size-1, 14)); // -1
    printf("%d\n", binarySearch(numbers, 0, size-1, 17)); // 8
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}