<span style="color: rgb(0, 176, 80); font-family: 微软雅黑; font-size: 16px; line-height: 24px; widows: auto;">进行二分查找的时候,数组必须要已经排序过了。</span>
/**
* 二分查找
* @author kuwo
*
*/
public class BinaryFinadTest {
public static void main(String[] args) {
int[] arr = new int[]{1,3,7,34,123,1119,22222333};
System.out.println(binarySearch(arr, 3, 7));
}
/**
*
* @param arr 需要进行查找的数组
* @param needFind 需要查找的数据
* @param len 数组长度
* @return
*/
private static String binarySearch(int[] arr,int needFind,int len){
int low,mid,high;
low = 0;
high = len -1;
while(low <= high){
mid = (low + high) / 2;
if(arr[mid] < needFind){
low = mid + 1;
}else if(arr[mid] > needFind){
high = mid -1;
}else if(arr[mid] == needFind){
return "found";
}
}
return "no";
}
}