您的位置:首页 > 其它

二分法查询,只适合有序但不连序的队列的查找。

2010-04-12 16:58 169 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: