定义方法,实现,折半查找 返回值: 索引 参数: 数组,被找的元素 实现步骤: 1. 需要的变量定义 三个,三个指针 2. 进行循环折半 可以折半的条件 min <= max 3. 让被找元素,和中间索引元素进行比较 元素 > 中间索引 小指针= 中间+1 元素 < 中间索引 大指针= 中间-1 元素 == 中间索引 找到了,结束了,返回中间索引 4. 循环结束,无法折半 元素没有找到 ,返回-1
代码实现:
public class BynarySearch { public static void main(String[] args) { int []arr=new int[]{1,2,3,4,5,6,7,8,9,10}; int number=bynarySearch(arr,8); System.out.println(number); } public static int bynarySearch(int []arr,int num){ int max=arr.length-1; int min=0; int mid=0; while (min<=max){ mid=(max+min)/2; if(num>arr[mid]){ min=mid+1; }else if(num<arr[mid]){ max=mid-1; }else{ return mid; } } return -1; } }