二分查找算法(折半查找):前提是在已经安排好序的数组中,通过将待查找的元素与中间索引值对应的元素进行比较,若大于中间索引值对应的元素,去右半部分查找,否则,去左半部分查找。以此类推,直到找到为止,找不到返回一个负数。
必须保证 数列是有序的
例:
public static void main(String[] args) { int[] num = {10,20,50,65,88,90}; int index = binarySearch(num,10 ); System.out.println(index); } //二分查找算法 public static int binarySearch(int[] num,int key) { int start =0;//开始下标 int end =num.length-1;//结束下标 while(end>=start) { int middle =(start+end)/2; if(num[middle]<key) { start = middle+1; }else if(num[middle]>key) { end = middle-1; }else { return middle; } } return -1; }