Java 编程下的二分法查找
2016-07-06 08:51
609 查看
package cn.sunzn.dichotomy; public class DichotomySearch { public static void main(String[] args) { int[] arr = new int[] { 12, 23, 34, 45, 56, 67, 77, 89, 90 }; System.out.println(search(arr, 12)); System.out.println(search(arr, 45)); System.out.println(search(arr, 67)); System.out.println(search(arr, 89)); System.out.println(search(arr, 99)); } public static int search(int[] arr, int key) { int start = 0; int end = arr.length - 1; while (start <= end) { int middle = (start + end) / 2; if (key < arr[middle]) { end = middle - 1; } else if (key > arr[middle]) { start = middle + 1; } else { return middle; } } return -1; } }
相关文章推荐
- 开源 java CMS - FreeCMS2.5 模型管理
- 递归<一> --- 求阶乘
- Java反射机制(Class类的使用)
- JavaWeb开发入门(二)
- activiti工作流
- Java如何查看当前类的超类
- java 中的clone方法 ,详解
- spring boot 进行读写分离
- Java反射机制(创建Class对象的三种方式)
- 封装JavaBean对象
- Java中线程入门
- Struts2系列:(31)modelDriven
- 关键字
- Struts2拦截器原理简介
- JavaEE学习笔记之SSH—Hibernate(4)
- Java算术运算和模运算
- myeclipse自动生成相应对象接收返回值的快捷键
- Spring(二)
- 一种c#深拷贝方式完胜java深拷贝(实现上的对比)
- Java编程思想之并发