JAVA数据结构一 二分查找
package com.data.array;public class OrderArray {private long[] a;private int nElems;public OrderArray(int max){a = new long[max];nElems = 0;}public int size(){return nElems;}public int find(long searchKey){int lowerBound = 0;int upperBound = nElems -1;int curIn;while(true){curIn = (lowerBound + upperBound) /2 ;if(a[curIn]==searchKey)return curIn;else if(lowerBound > upperBound)return nElems;else{if(a[curIn]<searchKey)lowerBound = curIn + 1;elseupperBound = curIn - 1;}}}public void insert(long value){int j;for(j=0;j<nElems;j++){if(a[j] > value)break;}for(int k=nElems;k>j; k--)a[k] = a[k-1];a[j] = value;nElems++;}public boolean delete(long value){int j = find(value);if(j == nElems)return false;else{for(int k = j ; k< nElems; k++)a[k] = a[k+1];nElems--;return true;}}public void display(){for(int j = 0 ; j< nElems ; j ++){System.out.print(a[j] + " ");}System.out.println(" ");}}?