首先我们使用冒泡排序或者选择排序将数组从小到大排好
然后使用函数:
int binary_search(int arr, int k, int sz) {
int left = 0;
int right = sz - 1;
while (left <= right) {
int mid = left + (right - left) / 2;//为了防止超限,我们不使用left+right再除2 因为如果left和right很大,那么他们的和很可能就会超出int的范围
if (arr[mid] < k) {
left = mid + 1;
} else if (arr[mid] > k) {
right = mid - 1;
} else {
return mid; // 找到了返回下标
}
}
return -1; // 没找到返回-1
}