static int[] array={1,2,5,4,7,8,9};
public static void RunSnippet()
{
Console.WriteLine("fff");
int pos =BinSearch(4);
Console.WriteLine(pos);
}
/// <summary>
/// 二分法查询,只适合有序但不连序的队列的查找。
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static int BinSearch(int key)
{
int mid=array.Length/2;
if(key==array[mid])
return mid;
int start=0;
int end=array.Length-1;
while(start<=end)
{
mid=(end-start)/2+start;
if(key<array[mid])
{
end=mid-1;
}
else if(key>array[mid])
{
start=mid+1;
}
else
{
return mid;
}
}
return -1;
}
二分法查询,只适合有序但不连序的队列的查找。
最新推荐文章于 2022-08-10 15:52:13 发布