使用二分法查找:

    xiaoxiao2023-11-13  138

    package com.ybh.Class; import java.util.Scanner; public class Demo_Select { public static int search(int[] arr,int z){ int mid,min,max; min = 0; max = arr.length; mid = (min+max)/2; while(z!=arr[mid]){ if(z<arr[mid]){ max = mid-1; mid = (min+max)/2; }else if(z>arr[mid]){ min = mid+1; mid = mid = (min+max)/2; } } return mid; } public static void main(String[] args) { int[] arr = {11,22,33,44,55,66,77}; Scanner sc = new Scanner(System.in); System.out.println("请输入要在数组中查找的值:"); boolean x = true; while(x){ int z = sc.nextInt(); for (int i = 0; i < arr.length; i++) { if(z==arr[i]){ System.out.println("可以执行search方法"); System.out.println("这个数在数组中的索引是:"+search(arr, z)); x = true; break; }else{ x=false; } } while(!x){ System.out.println("输入错误,请重新输入:"); x=true; continue; } } } }
    最新回复(0)