package com.talong; /** * 迭代法实现二分查找 * 时间复杂度:O(lgN) * 空间复杂度:O(1) */ public class BinarySearchIterate { /** * @param array 查找数组 * @param num 查找值 * @return 找到的数组索引,没有找到返回-1 */ public static int search(int [] array,int num){ if(array.length==0){ return -1; } int begin=0,end=array.length-1; while(begin<=end){ int middle=(begin+end)/2; if(array[middle]==num){ return middle; }else if(array[middle]<num){ begin=middle+1; }else if(array[middle]>num){ end=middle-1; } } return -1; } public static void main(String [] args){ int [] array=new int []{1,3,5,7,9,10,12,13,45}; int idx=search(array,3); System.out.println(idx); } }
迭代法实现二分查找
最新推荐文章于 2024-02-01 11:10:03 发布