折半查询

来源:互联网 发布:丝路英雄转生数据 编辑:程序博客网 时间:2024/06/07 17:50
public static void main(String[] args) {int[] i={20,5,12,23,65,48,22};System.out.println(find(i, 12));}public static int find(int i[],int key){//定义三个变量,用来接收数组长度,并且计算折半计算;int max=i.length-1;int min=0;int middle=(max+min)/2;//循环查找传过来的key的值,如果==key直接返回下标while(i[middle]!=key){//判断key值是否大于i[]的值if(i[middle]>key){//如果大于,那么说明此key值在折半坐标的前面,继续折半计算max=middle-1;}else if(i[middle]<key){//如果小于那么说明key值在折半坐标的后面,同样折半计算min=middle+1;}middle=(max+min)/2;}return middle;}
刚刚写的折半查找代码,这里不做过多解释,代码上有注释写。
原创粉丝点击