Java实现二分查找--非递归

package 排序算法;

public class 二分非递归 {
	public static void main(String[] args) {
		int[] src = new int[] { 1, 3, 5, 7, 9 };
		System.out.println(binarySearch(src, 9));
	}

	private static int binarySearch(int[] src, int data) {
		int low = 0;
		int high = src.length-1;
		while(low <= high){
			int middle = (low+high)/2;
			if(data < src[middle]){
				high = middle-1;
			}else if(data > src[middle]){
				low = middle+1;
			}else if(data == src[middle]){
				return middle;
			}
		}
		return -1;
	}
}
没啥好说的,直接看代码吧

你可能感兴趣的:(排序算法)