VS2010折半法
时间: 2023-06-21 15:09:06 浏览: 78
折半法,也称二分法,是一种常见的查找算法。在VS2010中,可以使用以下代码实现折半查找:
```
int BinarySearch(int* a, int n, int target)
{
int left = 0;
int right = n - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (a[mid] == target)
return mid;
else if (a[mid] < target)
left = mid + 1;
else
right = mid - 1;
}
return -1; //未找到
}
```
其中,a为待查找的数组,n为数组长度,target为目标值。算法的基本思路是,设定左右两个指针,每次将目标值与中间值比较,若相等则返回中间值下标;若目标值大于中间值,则在右半部分继续查找;若目标值小于中间值,则在左半部分继续查找。重复以上步骤,直到找到目标值或者未找到。