版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35759688/article/details/77836536
/// <summary>
/// 二分查找法
/// </summary>
/// <param name="array">有序数组</param>
/// <param name="key">查找的值</param>
/// <returns>数组中值的索引</returns>
public static int BinaryChopSearch(int[] array, int key)
{
int lo = 0;
int hi = array.Length - 1;
while (lo <= hi)
{
int mid = lo + (hi - lo) / 2;
if (key < array[mid]) hi = mid - 1;
else if (key > array[mid]) lo = mid + 1;
else return mid;
}
return -1;
}