黑马程序员技术交流社区
标题:
【折半查找】一道毕老师没有写完整的练习
[打印本页]
作者:
会说话的木头
时间:
2014-6-26 13:55
标题:
【折半查找】一道毕老师没有写完整的练习
本帖最后由 会说话的木头 于 2014-6-26 13:57 编辑
题目是这样:有一个有序数组,想要将一个元素插入到该数组中,保证该数组是有序的。
毕老师只找到该元素插入的位置,没有将元素插入该数组,我将代码补全,见代码
public static void main(String[] args){
int[] arr = new int[]{1,2,5,9,15,26,37,48,90};
int[] arr1 = new int[arr.length+1];
int index = halfSearch_1(arr, 100);
for(int i=0,j=0;i<arr.length;i++,j++){
arr1[j]=arr[i];
}
insertEle(arr1,100,index);
sop(arr1);
};
public static void insertEle(int[] arr1, int key, int index)
{
for (int i=arr1.length-1; i>index; i--)
{
arr1[i]=arr1[i-1];
}
arr1[index]=key;
}
public static int halfSearch_1(int[]arr,int key){
int min=0,max=arr.length-1,mid;
while(min<=max){
mid=(min+max)>>1;
if(key>arr[mid]){
min=mid+1;
}
else if(key<arr[mid]){
max = mid-1;
}
else return mid;
}
return min;
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2