),可以在有序数组中快速查找目标值。本文将介绍如何。
1. 算法原理
二分查找算法是将有序数组分成左右两部分,每次取中间值进行比较,将目标值与中间值进行比较,如果目标值小于中间值,则在左半部分继续查找;如果目标值大于中间值,则在右半部分继续查找;如果目标值等于中间值,则返回中间位置。重复以上步骤,直到查找到目标值或者左右两部分已经没有元素。
2. C语言实现
下面是的代码
```tarySearchtttt target) {
while (low<= high) {tid = low + (high - low) / 2;id] == target)id;id]< target)id + 1;
elseid - 1;
} -1;
该函数接收四个参数,分别是有序数组、数组的下标、数组的下标和目标值。函数通过while循环不断缩小查找范围,每次取中间位置进行比较,终找到目标值或者返回-1表示未找到。
3. 示例
下面是一个使用二分查找算法查找目标值的示例
```tain() {t arr[] = {1, 3, 5, 7, 9, 11, 13};t = sizeof(arr) / sizeof(arr[0]);t target = 7;tdexarySearch - 1, target);dex != -1)tfdex);
elsetf"); 0;
arySearch函数查找目标值7在数组中的位置,终输出结果为“目标值在数组中的位置是3”。
本文介绍了二分查找算法的原理和C语言实现方法,该算法在有序数组中查找目标值的效率非常高,是一种常用的查找算法。