package com.sunnyykn.algorithm;
public class BinarySearch {
/**
* 二分查找算法
* @param srcArray
* 有序数组
* @param des
* 查找元素
* @return des的数组下标,没找到返回-1
*/
public static int binarySearch(int[] srcArray, int des) {
int low = 0;
int high = srcArray.length - 1;
while (low <= high) {
int middle = (low + high) / 2;
if (des == srcArray[middle]) {
return middle;
} else if (des < srcArray[middle]) {
high = middle - 1;
} else {
low = middle + 1;
}
}
return -1;
}
public static void main(String[] args) {
int[] src = new int[] { 1, 3, 5, 7, 8, 9 };
System.out.println(binarySearch(src, 3));
}
}
二分查找
最新推荐文章于 2023-05-28 13:59:52 发布