package com.arrays; //用二分法查找方法查找指定的一个数
public class erFenSort {
/**使用二分查找方法的前提时提供有序数组
* 二分查找的过程其实就是查找索引的过程
* 1.
*
* @param args
*/
public static void main(String[] args) {
int[] arr = {22,33,44,55,66};
System.out.println(Sort(arr,55));
System.out.println(Sort(arr,88));
}
/*
* 二分查找方法
* 1.返回值是int类型
* 2.参数列表 int[] arr,int value,value为需要查找的数值
*/
public static int Sort(int[] arr,int value) {
int min = 0;
int max = arr.length-1;
int mid = (min + max)/2;
while(arr[mid] != value) {
if(arr[mid] < value) {
min = mid +1;
}else if(arr[mid] > value) {
max = mid - 1;
}
mid = (min + max)/2;
if(min>max) { //如果min>max,则表明数组中不存在所要找的值
return -1;
}
}
return mid;
}
}
用二分法查找方法查找指定的一个数
最新推荐文章于 2024-06-25 11:09:45 发布