码迷,mamicode.com
首页 > 编程语言 > 详细

java:二分查找

时间:2015-11-19 12:42:33      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

package com.my.Test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MainTest {
	public static void main(String[] args) {
		List<Integer> list = new ArrayList();
		list.add(new Integer(13));
		list.add(new Integer(14));
		list.add(new Integer(13));
		list.add(new Integer(34));
		list.add(new Integer(23));
		list.add(new Integer(54));
		list.add(new Integer(63));
		list.add(new Integer(04));
		Collections.sort(list);
		Integer[] arr = list.toArray(new Integer[list.size()]);
	    System.out.println(System.currentTimeMillis());
		int a = BinarySearch(arr, 0, arr.length, 3);	
		System.out.println(System.currentTimeMillis());
		System.out.println(a);

	}

	public static Integer BinarySearch(Integer[] arr, int start, int end,
			int dest) {
		if (start < end) {
			// 中间位置
			int middle = (start + end) >> 1;// 相当于s+e/2
			// 中间值
			int mid = arr[middle];
			if (dest == mid) {
				return mid;
			} else if (dest < mid) { // 在左侧找
				return BinarySearch(arr, start, middle - 1, dest);
			} else if (dest > mid) {// 右侧找
				return BinarySearch(arr, middle + 1, end, dest);
			}else{
				return -1;
			}
		}
		return -1;

	}

}

 

java:二分查找

标签:

原文地址:http://www.cnblogs.com/mggwct/p/4976902.html

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