关闭

二分查找算法java實現代碼(原文鏈接:http://www.oschina.net/code/snippet_107039_5818)

901人阅读 评论(0) 收藏 举报
package search;

/**
 * @author lei 2011-8-17
 */
public class BinarySearch {
	/**
	 * 二分查找
	 * 
	 * 注意:二分查找只是针对有序排列的各种数组或集合
	 * 
	 * @param target
	 * @param array
	 * @return
	 */
	static boolean binarySearch(int target, int[] array) {
		int front = 0;
		int tail = array.length - 1;
		// 判断子数组是否能再次二分
		while (front <= tail) {
			// 获取子数组的中间位置,并依据此中间位置进行二分
			int middle = (front + tail) / 2;

			if (array[middle] == target) {
				return true;
			} else if (array[middle] > target) {
				tail = middle - 1;
			} else {
				front = middle + 1;
			}
		}
		return false;
	}

	public static void main(String[] args) {
		int[] array = new int[] { 1, 2, 3, 5, 7, 9, 17, 121, 4545 };
		System.out.println(binarySearch(4545, array));
	}
}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:440497次
    • 积分:5664
    • 等级:
    • 排名:第4595名
    • 原创:142篇
    • 转载:136篇
    • 译文:0篇
    • 评论:30条
    最新评论