二分查找法

来源:互联网 发布:amd cpu测试软件 编辑:程序博客网 时间:2024/06/03 17:16
/** * 二分法查找数据 * 二分查找法前提是数组必须是有序的 * */public class BinarySearch {public static void main(String[] args) {int[] array = {23,3,5,14,8,9,56,12};//3,5,8,9,12,14,23,56Arrays.sort(array);System.out.println(Arrays.toString(array));int key = 3;//要查找的数System.out.println(rank(key,array));//要查找的数所在的索引}private static int rank(int key,int[] array){int hi = array.length - 1;int low = 0;/** * 若没有找到则要一直找下去 */while(low <= hi){int mid = (hi - low) / 2 + low;//中间数据的索引if(key > array[mid]){low = mid + 1;}else if(key < array[mid]){hi = mid - 1;}else{return mid;}}return -1;}}

原创粉丝点击