黑马程序员技术交流社区

标题: 获取元素在数组中的位置 [打印本页]

作者: zhoubinjian    时间: 2016-3-20 18:51
标题: 获取元素在数组中的位置
//需求:将一个元素插入到一个有序的数组当中,还要保证该数组是有序的,获取该元素在的位置。
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;
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2