二分查找
package TestFro0406; public class DemoFro二分查找 { private static final int size = 5000000; public static void main(String[] args) { long[] data = new long[size]; // 添加测试数据 for (int k = 0; k < data.length; k++) { data[k] = k; } // 要查找的数据 long target = -1; int f=binaryFind(data, target); System.out.println(f); } public static int binaryFind(long[] data, long target) { int start = 0; int end = data.length - 1; while (start <= end) { int middleIndex = (start + end) / 2; if (target == data[middleIndex]) { return middleIndex; } if (target >= data[middleIndex]) { start = middleIndex + 1; } else { end = middleIndex - 1; } } return -1; } }