Java 基础 ---二分查找法

来源:互联网 发布:2016淘宝刷流量 编辑:程序博客网 时间:2024/06/08 05:45

二分查找法。必须有前提:数组中的元素要有序。


public static int halfSeach_2(int[] arr,int key){

   int min,max,mid;

   min = 0;

   max = arr.length-1;

   mid = (max+min)>>1; //(max+min)/2;

while(arr[mid]!=key){

          if(key>arr[mid]){

              min = mid + 1;

}

       else if(key<arr[mid])

          max = mid - 1;

    if(max<min)

return -1;

mid = (max+min)>>1;

}

return mid;

}

---------------------------------------------------------

java分了5片内存。

1寄存器。2本地方法区。3方法区。4栈。5堆。

栈:存储的都是局部变量 ( 函数中定义的变量,函数上的参数,语句中的变量 );

只要数据运算完成所在的区域结束,该数据就会被释放。

堆:用于存储数组和对象,也就是实体。啥是实体啊?就是用于封装多个数据的。

1每一个实体都有内存首地址值。

2堆内存中的变量都有默认初始化值。因为数据类型不同,值也不一样。

3垃圾回收机制。












0 0