java入门--二分查找算法

二分查找算法

要点:定义3个变量来标识元素的查找范围,通过让目标值和每次查找范围的中间值来做比较,不断缩小查找范围,从而避免全部遍历来查找目标元素.

示例代码:

/*

二分查找算法

*/

class Demo9

{

public static void main(String[] args)

{

int[] arr = {1,23,12,-9,15,31};

int a = 30;

int index = halfSearch(arr,a);

if (index != -1)

{

System.out.println(a+"的索引是:"+index);

}

else

{

System.out.println("不好意思,没找到!");

}

}

public static int halfSearch(int[] arr, int target)

{

int min = 0;

int mid = arr.length/2;

int max = arr.length;

while(true)

{

if (target > arr[mid])

{

min = mid + 1;

}

else if (target < arr[mid])

{

max = mid - 1;

}

else

{

return mid;

}

if(max < min)

{

return -1;

}

mid = (min+max)/2;

}

}

}

示例截图:

java入门--二分查找算法_第1张图片

你可能感兴趣的:(java入门--二分查找算法)