Java语言实现二分法
2016-03-07 22:54
555 查看
二分法是一个简单,高效,并广泛应用的查找方法
import java.util.arrays; public class BinarySearch { public static int rank(int key, int[] a) { //数组必须是有序的 int lo = 0; int hi = a.length - 1; while (l0 <= hi) { int mid = lo + (lo + hi) / 2; if (key < a[mid]) hi = mid - 1; else if (key > a[mid]) lo = mid + 1; else return mid; } return -1; } public static void main(String[] args) { //自己创建的函数,读取一个Int数组 int[] whiteList = In.readInts(args[0]); Arrays.sort(whiteList); //判断输入的int值是否是空 while(!StdIn.isEmpty()) { int key = StdIn.readInt(); //如果不包含就打印key值 if (rank(key,whiteList) StdOut.println(key); } } }
相关文章推荐
- Java语言实现二分法
- Java语言实现二分法
- jvm(2)-JVM内存的设置(解决eclipse下out of memory问题)
- 设计模式之一(代码用java实现)
- 10031---Java并发编程:volatile关键字解析
- 《JAVASE 基础学习》 第一天 环境变量配置、第一个程序运行执行过程
- jvm(2)-java内存区域
- 浅谈Java分布式计算
- Java类加载器总结
- 浅谈Java分布式计算
- eclipse生成javadoc文档
- 二进制的1111 1111如何才能得到255的结果
- Leetcode:26. Remove Duplicates from Sorted Array(JAVA)
- SpringMVC-forward和redirect
- java防盗链
- java之args[0]
- 【JAVA】32、对象的创建与使用
- Java基础4——多线程
- 学习JAVA第五天!数据的基本类型,数组和函数。
- Java内存模型浅析