二分查找
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
代码:
将一个有序的数组取中间点与要找的数值x进行比较,当x比中间值还小的时候,则把middle-1 赋值给H,相反则将middle+1 赋值给L。
static int binarySearch(int [] arr,int x)
{
int low = 0;
int hight = arr.Length - 1;
while (low<hight)
{
int middle = (low + hight) / 2;
if (x==arr[middle])
{
return middle;
}
else if (x<arr[middle])
{
hight = middle - 1;
}
else
{
low = middle + 1;
}
}
return -1;
}