二分法的应用
package com.atguigu.java; public class ArrayTest2 { public static void main(String[] args){ int[] arr1 = {-1,5,8,9,15,47,68,94}; //必须有序 int dest = 5; int head = 0; int end = arr1.length - 1; boolean isFlag = true; while(head <= end){ //要取等号 int middle = (head + end)/2; if(dest == arr1[middle]){ System.out.println("找到了。位置为:" + middle); isFlag = false; break; }else if(dest < arr1[middle]){ end = middle - 1; }else{ head = middle + 1; } } if(isFlag == true){ System.out.println("找不到这个数"); } } }
-----yzyjava

浙公网安备 33010602011771号