利用二分查找在数组中查找指定的元素
时间: 2024-02-20 22:35:06 浏览: 65
二分查找(Binary Search)是一种在有序数组中查找指定元素的算法,其时间复杂度为 O(log n)。下面是利用二分查找在数组中查找指定元素的示例代码:
```
int binarySearch(int arr[], int left, int right, int target) {
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // 没有找到目标元素
}
```
其中,arr 表示待查找的有序数组,left 和 right 分别表示数组的左右边界,target 表示要查找的目标元素。
该算法通过计算数组中间位置 mid,与目标元素进行比较,如果 mid 等于目标元素,则返回 mid;如果 mid 小于目标元素,则在右半部分继续查找;如果 mid 大于目标元素,则在左半部分继续查找。重复以上步骤,直到找到目标元素或者确定目标元素不存在为止。
阅读全文