二分查找又称为折半查找。
优点:比较次数少,查找速度快,平均性能好;
缺点:要求待查表为有序表,且插入和删除困难。因此二分查找适用于不经常变动且查找频繁的有序列表。
public class binarysearch
{
public static void main (String[] args)
{
int[] nums={20,34,30,45,54,60};
Arrays.sort(nums);//排序
System.out.println(binarysearch(nums,60));
}
public static int binarysearch(int[] num, int key)
{
int start=0;
int end=nums.length-1;
int mid=-1;
while(start<=end)
{
mid=(start+end)/2;
if(nums[mid]==key)
{
return mid;
}
else if(nums[mid]<key)
{
start=mid+1;
}
else if(nums[mid]>key)
{
end=mid-1;
}
}
return -1;
}
}