C言語で折半検索アルゴリズムのコードを教えてください
#include
int binarySearch(int arr[], int n, int key) {
int low = 0, high = n – 1;
while (low <= high) { int mid = (low + high) >> 1;
if (arr[mid] == key) {
return mid;
}
else if (arr[mid] < key) {
low = mid + 1;
}
else {
high = mid – 1;
}
}
return -1;
}
int main() {
int arr[] = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 12;
int index = 二分探索(arr, n, key);
if (index != -1) {
printf(“要素 %d は %d 番目にあります”, key, index);
}
else {
printf(“要素は存在しません”);
}
return 0;
}