포인터를 이용해서 이진 탐색을 하고 싶은데, fisrt 하고 last를 어떻게 정하고 넘겨줘야 하나요?

조회수 361회

include

int* binarySearch(int *pArr, int *pFirst, int *pLast, int key); void PRINT(int *pArr, int num);

int main() { int arr[10] = {5, 9, 13, 17, 21, 28, 37, 46, 55, 88}; int key;

printf("원시 데이터: ");
for(int i = 0; i < 10; i++){
    printf("%3d", arr[i]);
}
printf("검색 데이터 입력(검색 종료: 0) :");
scanf("%d", &key);
binarySearch(arr,arr[0], arr[9], key);
PRINT(arr, mid);

}

int* binarySearch(int *pArr, int *pFirst, int *pLast, int key){ int mid = (*pFirst + *pLast) / 2;

if(key == pArr[mid]){
    return mid;
}
else if(key < pArr[mid]){
    int *mid = mid - 1;
    binarySearch(*pArr, *pFirst, *mid, key );
}
else if(key > pArr[mid]){
    int *mid = mid + 1;
    binarySearch(*pArr, *pFirst, *mid, key );
}

}

void PRINT(int *pArr, int num){

}

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)