private static void QueryByMid()
{
int[] array = new int[] { 23, 33, 34, 43, 67, 78, 79 };
int low = 0;
int high = array.Length - 1;//这句很重要,减1避免数组值比较时索引超出
int mid = 0;
int queryNum = 78;//待查找的数
int queryIndex = -1;
while (low <= high)
{
mid = (low + high) / 2;
if (queryNum == array[mid])
{
queryIndex = mid;
break;
}
else
{
if (queryNum < array[mid])
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
}
if (queryIndex == -1)
{
Console.WriteLine("没有查找到对应的数据");
}
else
{
Console.WriteLine("数据查找到的索引位置:" + queryIndex);
}
}