码迷,mamicode.com
首页 > 其他好文 > 详细

折半查找、

时间:2015-10-05 18:10:36      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

数组中的折半查找:只对有序的数组有效,取中间元素与查找的元素对比,如果需要查找的元素比中间元素大,则把查找范围缩小一半,以此类推,知道找到为止

public class Zheban {
	public static void main(String[] args) {
		int[] a={1,2,3,4,5,5,9,11,22,33};
		System.out.println(index(a,6));
	}

	private static int index(int[] a, int i) {
		int mid,max,min;
		min=0;max=a.length-1;mid=(max+min)/2;
		while(a[mid]!=i)
		{
			if(min>max)
			return min;//插入一个数字所在的位置,保证数组有序,
			if(a[mid]>i)
				max=mid-1;
			else if(a[mid]<i)
				min=mid+1;
			mid=(max+min)/2;
		}
		return mid;
	}
}

 

折半查找、

标签:

原文地址:http://www.cnblogs.com/chslch/p/4856025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!