首页 > 代码库 > 数组查找

数组查找

对于一维数组,通常会用到以下查找方法,来查找数组中是否存在某个元素。

(一)逐个元素对比,找出要查找的对象

public static int search(int[] array, int value){          for(int i = 0; i< array.length; i++)          {               if(value =http://www.mamicode.com/= array[i])               {                    return i;                }          }                    return -1;}public static void main(Srting[] args){          int[] a = new int[]{1, 5, 3, 7 ,2 ,10,11,4};          int value = http://www.mamicode.com/9;          int index = search(a, value);          System.out.println(index);}

上述代码,查找数组a中值为9的元素的位置,由于a中没有9,所以返回-1 

 

(二)使用二分法查找对象

在使用二分法查找时,必须先为数组排序。

折半查找法也称为二分查找法:它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如 果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右 半部继续搜索x。

二分查找的方法可以这样写:

数组查找