您的位置:首页 > 编程语言 > Java开发

Java二分法在已排序数组中查找指定数

2010-04-27 13:15 295 查看
public static int binarySearch(int[] sortedArr , int target){

int start = 0;
int end = sortedArr.length - 1;

do{
int mid = (start + end)/2;

if(target > sortedArr[mid]){
start = mid+1;
}else if (target < sortedArr[mid]){
end = mid - 1;
}else{
return mid;
}
}while(start != end);

// 未找到
return -1;
}


此方法适用于已排好序的查找,未排序的话需要先排序再调用此方法。二分法对于已排序的数组效率较高,而对于未排序的数组因为需要先排序,效率可能比其他的方法稍低(加上排序的时间复杂度)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: