자료들을 반씩 나누어 가면서 탐색을 진행하는 것
자료들이 반드시 정렬되어 있어야 탐색이 가능
int i, key, count, n, result;
int arr[6] = {1, 2, 3, 4, 5, 6};
int search(){
int mid;
if(start <= end){
count++;
mid = (start + end) / 2;
if(key == arr[mid]){
return count;
}
else if(key < arr[mid]){
return search(start, mid-1);
}
else if(key > arr[mid]){
return search(mid+1, end);
}
}
return -1;
}
int main(){
n = sizeof(arr) / sizeof(int);
printf("탐색할 곳은?");
scanf("%d", &key);
result = search(0, n-1);
if(result == -1)
printf("탐색실패입니다");
else
printf("탐색성공이며 탐색횟수는 %d회입니다.", key);
return 0;
}
당신의 시간이 헛되지 않는 글이 되겠습니다.
I'll write something that won't waste your time.