Java的二进制搜索
1 说明
二进制搜索用于从多个元素中搜索关键元素。二进制搜索比线性搜索快。
如果是二进制搜索,则数组元素必须按升序排列。如果您有未排序的数组,则可以使用Arrays.sort(arr) 方法对数组进行排序。
2 程序实现
让我们看一下Java中二进制搜索的示例。
/**
* 一点教程网: http://www.yiidian.com
*/
class BinarySearchExample{
public static void binarySearch(int arr[], int first, int last, int key){
int mid = (first + last)/2;
while( first <= last ){
if ( arr[mid] < key ){
first = mid + 1;
}else if ( arr[mid] == key ){
System.out.println("Element is found at index: " + mid);
break;
}else{
last = mid - 1;
}
mid = (first + last)/2;
}
if ( first > last ){
System.out.println("Element is not found!");
}
}
public static void main(String args[]){
int arr[] = {10,20,30,40,50};
int key = 30;
int last=arr.length-1;
binarySearch(arr,0,last,key);
}
}
以上代码输出结果为:
Element is found at index: 2
热门文章
优秀文章