生活随笔
收集整理的這篇文章主要介紹了
二分查找+思路分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
思路分析
代碼實現
package com.atguigu.search
;
//注意:使用二分查找的前提是,該數組是有序的
public class BinarySearch {public static void main(String[] args) {int arr[]={1,8,10,89,1000,1234
};int resIndex=
binarySearch(arr,0,arr.length-1,-1
);System.out.
println("resIndex:"+resIndex
);}//二分查找算法
public static int binarySearch(int[] arr,int left,int right,int findVal){//當left>right時,說明遞歸整個數組,但是沒有找到if(left>right){return -1
;}int mid=
(left+right
)/2
;int midVal=arr[mid]
;if(findVal>midVal){//向右遞歸return
binarySearch(arr,mid+1,right,findVal
);}else if(findVal<midVal){//向左遞歸return
binarySearch(arr,left,mid-1,findVal
);}else {return mid
;}}}
總結
以上是生活随笔為你收集整理的二分查找+思路分析的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。