您的位置:首页 > 编程语言 > Java开发

Java 查找方法(普通查找,二分查找)

2013-04-16 22:14 423 查看
public class ArraySearchTest
{

public static int search(int[] a , int value)
{
for(int i = 0; i < a.length - 1; i++)
{
if(a[i] == value )
{
return i;
}
}
return -1;
}
public static int binarySearch(int[] array , int value)
{
int low = 0;
int high = array.length -1;
int middle;
while(low <= high)
{
middle = (low + high)/2;
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i]);
if( middle == i)
{
System.out.print("#");
}

System.out.print(" ");
}
System.out.println();

if(array[middle] == value)
{
return middle;
}

if(value < array[middle])
{
high = middle - 1;
}
if(value > array[middle])
{
low = middle + 1;
}
}
return -1;
}
public static void main(String[] args)
{
int[] a = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};

int value = 11;

int index = search(a, value);

System.out.println(index);

System.out.println("-----------------");

int[] b = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9};

int index2 = binarySearch(b , 5);

System.out.println(index2);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: