疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

二分查找法


 

  二分查找,顾名思义就是分量分查找。采用二分法查找时,数据需是排好序的,这是使用二分查清找的前提。

  该算法的基本实现思路是:

  1.先将数据排序

  2.确定中间位置mid=(first+last)/2;

  3.比较所要查找的关键字 key与中间位置的关键字的大小,如果比key和mid.key相等则返回, key比mid.key大(假定为升序)这所要查找的关键字在mid和last之间;否则在first与mid之间。

  4.继续按照上面方法查找中间元素,直到找到为止。

  1 import java.util.Arrays;

  2 public class ArraysDome_1 {

  3 public static void main(String[] args) {

  4 int array[]={2,31,434,11,323,44,10};

  5 Arrays.sort(array);

  6 System.out.println(Arrays.toString(array)); //输出排序后的数列

  7 System.out.println("查找结果:"+see(array,11)); //调用查找方法并输出结果

  8 }

  9 private static int see(int[] arr, int i) {

  10 int mid=(arr.length-1)/2; //先求的mid

  11 while (mid

  12 if (arr[mid]>i) { //如果当前指向的数据大于关键字就向后走,反之就向前走,直到找到并返回mid

  13 mid--;

  14 }else if (arr[mid]

  15 mid++;

  16 }else if (arr[mid]==i) {

  17 return mid;

  18 }

  19 }

  20 return -1; //如果没有就返回-1

  21 }

  22

  23 }