线性查找和二分查找法

二分查找法是针对有序数组的进行快速查找的   start  end  找到中间 middle=(start+end)/2=3

比如如果查找数字是9,中间的是5比9小,由于是有序的则此时只看后半部分数组 开始下表为 middle+1,最终还是end,

然后对后半部分的数组再进行一分为二(就是下标是5 再拿9与其比较发现找到了。)

一般start>end基本没找到,start<=end在查找中

具体程序代码:


import java.util.Scanner;
class  BinarySearch
{
public static void main(String[] args) 
{
int a[]={1,2,12,14,18,21,30};
int start=0 ;
int end=a.length-1;
int middle=0;
int index=-1;
Scanner input=new Scanner(System.in);
int g=input.nextInt();
while(start<=end)
{
middle=(start+end)/2;
if(g==a[middle]){
index=middle+1;
System.out.println("找到的数组第"+index);
break;
}
if(g<a[middle]){
end=middle-1;
}


if(g>a[middle]){
start=middle+1;
}
}
if(index==-1){
System.out.println("没找到的数组第");
}
if(index!=-1){
System.out.println("找到的数组第"+index);
}

}

}





相关文章:

  • 2021-05-17
  • 2022-12-23
  • 2022-12-23
  • 2022-03-05
  • 2022-12-23
  • 2022-12-23
  • 2021-10-30
猜你喜欢
  • 2021-10-31
  • 2021-11-11
  • 2021-07-15
  • 2021-08-02
  • 2021-07-24
  • 2021-08-31
  • 2022-12-23
相关资源
相似解决方案