//需求:将一个元素插入到一个有序的数组当中,还要保证该数组是有序的,获取该元素在的位置。
class Zheban
{
public static void main(String[] args)
{
int[] arr=new int[]{3,8,9,12,43,65,78};
int mun=getmun(arr,10);
System.out.println("jiaobiao="+mun);
}
public static int getmun(int[] arr,int key)
{
int min,mid,max;
min=0;
max=arr.length-1;
mid=(min+max)/2;
while(key!=arr[mid])
{
if(key>arr[mid])
{
min=mid+1;
}
else if(key<arr[mid])
{
max=mid-1;
}
if(min>max)
return min;//返回最小角标的值为该元素的位置
mid=(min+max)/2;
}
return mid;
}
}
|
|