Java 二分查找(折半查找)
- 二分查找的前提:必须是排序好的数据
- 折半的条件:min<=max
public static boolean towSearch(int[] a,int search){
int min = 0;
int max = a.length - 1;
int mid = (min + max) / 2;
int i = 0;
while (min <= max){
System.out.println("第 " + ++i + " 次查找");
if (search == a[mid]){
return true;
}
if (search < a[mid]){
max = mid - 1;
mid = (min + max) / 2;
}
if (search > a[mid]){
min = mid + 1;
mid = (min + max) / 2;
}
}
return false;
}
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7,8,9,10};
int search = 3;
System.out.println(towSearch(a,3));
}
结果
第 1 次查找
第 2 次查找
true
评论 (0)