第一次写博客,感觉要写的东西有很多,以前写的东西都在印象笔记里面,东西很杂乱,我需要慢慢的的整理出来。我就从最简单的开始整理吧~一个简单的二分查找算法。
- public class BinarySearch
- {
- public static int binary_search(int[] array, int value)
- {
- int beginIndex = 0;// 低位下标
- int endIndex = array.length - 1;
- int midIndex = -1;
- while (beginIndex <= endIndex) {
- midIndex = beginIndex + (endIndex - beginIndex) / 2;
- if (value == array[midIndex]) {
- return midIndex;
- } else if (value < array[midIndex]) {
- endIndex = midIndex - 1;
- } else {
- beginIndex = midIndex + 1;
- }
- }
- return -1;
- }
- public static void main(String[] args)
- {
- System.out.println("Start...");
- int[] myArray = new int[] { 1, 2, 3, 5, 6, 7, 8, 9 };
- System.out.println("查找数字8的下标:");
- System.out.println(binary_search(myArray, 8));
- }
- }