二分法查询,只适合有序但不连序的队列的查找。
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;
}
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;
}
相关文章推荐
- 二分法查找有序数组中的元素
- 有序数组和二分法查找
- 有序数组二分法查找数值
- 有序表查询之一:java实现整型数组二分查找
- 有序数组用二分法查询位置
- 二分法查找一组有序数
- 二分法查找有序数组
- 利用二分法查找有序数组中某一元素
- 二分法查找有序数组
- 有序表查找——折半查找,又为二分法
- (二)有序数组的二分法查找
- 个人练习数据结构之--------------关于线性数据的有序数组以及之上的二分法查找、不同排序方法的学习
- 二分法实现一个整形有序数组的二分查找
- leetcode 在有序矩阵中查找某个数,第k小数 (二分法)
- 二分法查找有序数列
- 二分法的查找有序数中的一个数
- 在154个元素组成有序表进行二分法查找,可能的比较次数为()
- Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)
- 二分法查找有序数组中某元素个数
- 二分法在有序数组中进行查找