#include <stdio.h>
int calc(int *arr, int arrSize, int find){
int start = 0;
int end = arrSize-1;
int calcCount = 0;
int center;
while(start <= end){
center = (start+end)/2;
calcCount ++;
printf("센터값:%d, 연산횟수:%d\n", center, calcCount);
if(find == arr[center]){
printf("값을찾았습니다%d 번째배열\n", center);
return 1;
} else {
//못 찾은 경우
if(find > arr[center]){
start = center+1;
}else {
end = center-1;
}
}
}
return 0;
}
int main(void) {
int myArr[10] = {1,3,5,6,9,11,13,24,32};
int arrLength = sizeof(myArr) / sizeof(int);
calc(myArr, arrLength, 11);
return 0;
}
댓글