二分法查找
1.要查找的数组是有序的,如果无序的话要先进行排序
int []nums ={1,2,3,4,5,6,7,8,9321,}
System.out.println("请输入你所要查找的数字:')
int n =input.nextInt();//获取顾客输入的数字
int findIndex =-1;//做个标记变量
int low=0;//定义一个新的变量 int low并将它的值赋值为0
int upper =nums.length-1;//定义一个新的变量 upper 长度为nums.length-1;的长度
while(low<=upper){//循环条件为low小于upper
int mid =(low+upper)/2;//将最小值和最大值加起来除以2
if(nums[mid]<n)//如果mid值小于n则+1位
low =mid+1;
else if(nums[mid]>n){//如果mid值大于n值则减一
low=mid-1;
}esle{//直到等于为止
findIndex=mid;就找到这个值在第几项了输出即可
break;
}
浙公网安备 33010602011771号