Java实现二分查找法
/**
* FileName: BinarySearchDemo.java
* Date: 2014年4月6日
* Autoher: [email protected]
* CopyWrite: searchpcc@2014
* site: http://searchpcc.cnblogs.com
*/
package com.searchpcc.binarysearch;
import java.util.Arrays;
/**
*
* className: BinarySearchDemo
* desc: 二分查找法实现
* author: searchpcc
* date: 2014年4月6日
*
*/
public class BinarySearchDemo {
public static int binarysearch(int[] number, int n) {
int start = 0; // 开始位置
int end = number.length-1; // 结束位置
int middle;
while (start <= end) {
middle = (start+end)/2; // 求中间位置
// 要找的值已经找到
if (number[middle] == n) {
return middle;
} else if (number[middle] < n) {
start = middle+1;
} else if(number[middle] > n){
end = middle-1;
}
}
return -1; // 没有就找不到
}
public static void main(String[] args) {
int[] number = {1,3,2,4,5,7,6,8};
// 第一步:排序
Arrays.sort(number);
int index = binarysearch(number, 6);
System.out.println(index);
}
}
Arrays工具类中的indexOfRangn() binarySearch() sort() 等等方法都有很大的用处的和很多的可学习的地方。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。