포인터를 이용해서 이진 탐색을 하고 싶은데, 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){
}
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력