Java二分查找
2016-03-21 22:35
573 查看
/** * * QQ:1195536696 学习探讨,新手,请大家多多指教,谢谢 * 二分查找中间元素的位置 */ public class HelloWorld { public static void main(String[]args){ // 使用数组存放要保存的数据 int [] a = {2,3,4,5,9,7,8}; int value = 5; // 这是我们要查找的值 // 定义要查找的位置 int count = 1; // 第一个元素标记 int low =0; // 最后一个元素标记 int high = a.length - 1; // 使用while循环,只要满足第一个标记到最后一个标记之间有元素 while(low<=a.length){ int mid =(low+high)/2; // 那么我们从中间的一个元素开始 // 判断 是否已经找到 if(a[mid] == value){ count = mid; break; // 找到结束循环 } // 若没有 else if(a[mid] < value){ low = mid +1; // 如果找的值比中间值大,往左边移动标记 } else { high = mid - 1; // 如果找的值比中间值小,往右边移动标记 } if(count!=1){ System.out.println( count +“位置”); }else{ System.out.println("没有找到"); } } } }
相关文章推荐
- JAVA之多线程yield(),sleep(),wait()区别
- Ubuntu 下如何设置 Java 环境变量
- java第十四节-Collection接口-List
- 设计模式之状态模式
- dijkstra 算法的java实现
- JAVAone 总结
- jdbc查询中出错 java.sql.SQLException: 无效的列索引
- List中元素转存到另一个空List中的快捷方式
- Spring MVC 原理小结+简单应用
- Spring AOP配置声明式事务,数据业务层捕获异常,事务控制处理
- ubuntu安装jdk
- 关于Java字符串String在运算中的拼接
- Java 8新特性探究(九)跟OOM:Permgen说再见吧
- Spring MVC MyBatis
- //TODO list
- java的自动包装机制
- Java基础静态变量、静态方法
- Thinking in Java -- 类型信息
- 深入剖析Java中的装箱和拆箱
- java中throw和throws的区别