十大算法二分查找算法篇
package 十大算法; public class 二分查找非递归 { public static void main(String[] args) { int arr[] = {1,3,8,10,11,67,100}; int index=find(arr,11); System.out.println(index); } /** * * @param arr 待查找的数组,是升序的 * @param finddata 需要查找的数 * @return */ public static int find(int []arr,int finddata) { int left=0; int right=arr.length-1; while(left<=right) {//继续查找 int mid=(left+right)/2; if(arr[mid]==finddata) { return mid; }else if(arr[mid]>finddata) { right =mid-1;//需要向左边查找 }else { left=mid+1;//需要向右边查找 } } return -1; } }
评论 抢沙发