论坛首页 入门技术论坛

二分法查找

浏览 2351 次
锁定老帖子 主题:二分法查找
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-26  
package ruantong.test;

import java.util.Arrays;

public class Test1 {
	public static void main(String[] args) {
		// 定义数组
		int[] a = { 0, 15, 14, 22, 28, 35, 98, 109, 44, 12, 9, 78, 67, 56, 54 };
		Arrays.sort(a);//数组排序
		System.out.println(a.length);
		int search = 109;// 所要查找的值
		int index = 0;// 类似于指针的东西,数组下标
		int start = 0;// 查找起始下标
		int end = a.length;// 查找结束下标
		int count = 0;// 保留循环次数
		while (true) {
			count++;//循环次数
			//每次取得剩余的数组下标
			index = start + ((end - start) / 2); 
			if (a[index] < search) {
				start = index;
			} else if (a[index] > search) {
				end = index;
			} else {
				break;
			}
		}
		System.out.println(" 二分法查找,需要比较的次数:" + count);
	}
}


有人发过帖子,但是数组的length-1无法查找最大数。
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics