标签:oid ret 新建 注意 [] 基于 位置 sys 方法
基于基础的二分法查找方法,做出了相应的该进。
对二分法的整个过程梳理中,发现了 min 和 max 值的关系
因为有min <= max 的关系存在,所以才有之后的mid过程。
以这个关系为基础,重新建立了while函数的关系。并且增加了功能使该代码能够实现不在数组中的元素,应该在数组的那个位置插入
注意最后的return -return-1是改功能的体现,-1是为了防止0的出现。
class TestJava
{
public static void main(String[] args)
{
int[] arr = {12,34,35,45,56,67,89,99,112,113,114};
int key = 111;
int mid = HalfSort(arr,key);
System.out.println("位置为:" + mid);
}
public static int HalfSort(int arr[],int key)
{
int min = 0;
int max = arr.length-1;
int mid = 0;
while(min <= max)
{
mid = (max + min) >> 1;
if (key < arr[mid])
max = mid - 1;
else if(key > arr[mid])
min = mid + 1;
else
return mid;
}
return -mid-1;
}
}
标签:oid ret 新建 注意 [] 基于 位置 sys 方法
原文地址:http://www.cnblogs.com/liufeifeifei/p/7552616.html