2008-03-14

查找算法

	/**
	 * 二分法查找 
	 * 查找线性表必须是有序列表
	 * 
	 * @param e
	 * @param key
	 * @return
	 */
	public int binarySearch(int[] e, int key) {
		int low = 0, high = e.length - 1, mid;
		while (low <= high) {
			mid = (low + high) / 2;
			if (key == e[mid]) {
				return mid;
			} else if (key < e[mid]) {
				high = mid - 1;
			} else {
				low = mid + 1;
			}
		}
		return -1;
	}
评论
发表评论

您还没有登录,请登录后发表评论

javaboy2006
搜索本博客
我的相册
1dfc5a2b-40c6-36d5-bbeb-2b71b07b7d74-thumb
forbes_cover
共 13 张
最近加入圈子
存档
最新评论