|
#include <stdio.h>int binary_search(int a[], int k, int s){ int left = 0; int right = s - 1; while (left <= right) { int mid = (left + right) / 2; if (k < a[mid]) { right = mid - 1; } else if (k > a[mid]) { left = mid - 1; } else { return mid; } } return -1;}void main(){ int arr[] = { 1,2,3,4,5,6,7,8,9,10 }; int key = 7; int sz = sizeof(arr) / sizeof(arr[0]); int ret = binary_search(arr, key, sz); if (ret == -1) { printf(&#34;找不到&#34;); } else printf(&#34;找到了,下标是:%d\n&#34;, ret); return 0;} |
|