顺序数组中插入相应的值用二分查找法

来源:互联网 发布:淘宝与支付宝如何解绑 编辑:程序博客网 时间:2024/06/06 09:11

import java.lang.reflect.Array;
import java.util.Arrays;

//顺序数组中插入相应的值用二分查找法
public class ChaArrays {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  int aNumber[] = new int []{45,8,28,7};
  Arrays.sort(aNumber);
  System.out.println(Arrays.toString(aNumber));//输出经过排序的这个数组
  //int bYte = Arrays.binarySearch(aNumber,28 );
  //System.out.println("Binary is = " + bYte);//此时是28在原数组中又出现
  int[] bNumber = new int[aNumber.length + 1];
  int bYte = Arrays.binarySearch(aNumber,25 );
  if( bYte < 0)//bYte为下标
  {
   bYte = -bYte-1;
  }
  System.out.println("Binary is = " + bYte);//找见插入点了,然后在进行数组的复制
  System.arraycopy(aNumber,0,bNumber,0,bYte);
  bNumber[2] = 25;
  System.arraycopy(aNumber,bYte,bNumber,bYte+1,aNumber.length-bYte);
  System.out.println(Arrays.toString(bNumber));
 
 }

}