为什么80%的码农都做不了架构师?>>> 
二分查找的前提是有序存储,利用顺序存储和元素排序
/*** 二分查找,查找成功,返回下标记* @param values* @param begin* @param end* @param key* @param <T>* @return*/
public static <T extends Comparable<? super T>> int binarySearch(T values[], int begin, int end, T key) {while(begin <= end) {int mid = (begin + end) / 2;if(key.compareTo(values[mid]) == 0) {return mid;} else if(key.compareTo(values[mid]) < 0) {end = mid -1;} else {begin = mid +1;}}return -1;
}/*** * @param values* @param key* @param <T>* @return*/
public static <T extends Comparable<? super T>> int binarySearch(T values[], T key) {return binarySearch(values,0,values.length -1, key);
}







