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;
}
}
}
}
使用二分法查找:
最新推荐文章于 2022-03-13 19:48:49 发布