java实现二分法的完整代码-创新互联

二分法查找,顾名思义就是要将数据每次都分成两份然后再去找到你想要的数据,我们可以这样去想,二分法查找很类似与我们平时玩的猜价格游戏,当你报出一个价格时裁判会告诉你价格相对于真实值的高低,倘若是低了那我们一定会再说出一个略高的价格,反之亦然。在二分法查找时要求传入的数据必须已经有序,假设现在为升序,然后每次将所寻找的值与中间值(数组左边界+(右边界-左边界)/2)作比较,大了则去寻找中间值左侧数据,小则寻找中间值右侧数据。

目前创新互联已为1000多家的企业提供了网站建设、域名、雅安服务器托管、网站托管、服务器租用、企业网站设计、安泽网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

二分法查找比较局限性的就是只能操作一个已经排序了的数组。

方法一

下面为一个二分法实现的完整代码

package dichotomy;
import java.util.Arrays;
import java.util.Scanner;
import static java.lang.System.out;
public class Erchange {
 
 private static Scanner in;
 public int find(int a[],int b) //a为所要查找的数
 {
 int mid,low=0,high;
 high=a.length-1;
 while(low<=high)
 {
  mid=low+(high-low)/2;
  if(ba[mid])
  {
  low=mid+1;
  }
  else
 {
  return mid+1;
  } 
 }
 return 0;
 }
 public static void main(String[] args) {
  int a[];
  int t;
  int sum=0;
  Erchange p=new Erchange();
  int q2 = 0;
  in = new Scanner(System.in);
  out.println("请输入数组长度");
 q2= in.nextInt();
  a=new int [q2];
  out.println("请输入数组元素");
  for(int i=0;i                
本文名称:java实现二分法的完整代码-创新互联
本文链接:http://scyanting.com/article/ddchds.html