java学习笔记之折半查找法(二分法)
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
package Xhe.com;
//折半查找法(二分法)
public class halfSearch {
?? ?public static void main(String[] args){
?? ??? ?int[] arr = {10,15,16,19,28,96,110,128,199};
?? ??? ?int index = halfSaerch(arr,28);
?? ??? ?System.out.println("index="+index);
?? ??? ?
?? ?}
?? ?public static int halfSaerch(int[] arr,int target){
?? ??? ?int max = arr.length-1;
?? ??? ?int min = 0;
?? ??? ?int mid = (max+min)/2;
?? ??? ?
?? ??? ?while(true){
?? ??? ??? ?if(target>arr[mid]){
?? ??? ??? ??? ?min = mid+1;
?? ??? ??? ??? ?
?? ??? ??? ?}else if(target<arr[mid]){
?? ??? ??? ??? ?max = mid-1;
?? ??? ??? ?}else{
?? ??? ??? ??? ?return mid;
?? ??? ??? ?}
?? ??? ??? ?
?? ??? ??? ?//重新計(jì)算中間值
?? ??? ??? ?mid = (max+min)/2;
?? ??? ??? ?//如果找不到
?? ??? ??? ?if(max<min){
?? ??? ??? ??? ?return -1;
?? ??? ??? ?}
?? ??? ?}
?? ?}
}
?
轉(zhuǎn)載于:https://my.oschina.net/xhe2016/blog/716761
總結(jié)
以上是生活随笔為你收集整理的java学习笔记之折半查找法(二分法)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux软件安装简介(apt和dpkg
- 下一篇: MapReduce程序的运行全貌