java实现二分法的完整代码
时间:2018-11-16
这篇文章主要为大家详细介绍了java实现二分法的完整代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
二分法查找比较局限性的就是只能操作一个已经排序了的数组。
下面为一个二分法实现的完整代码
package dichotomy; import java.util.Arrays; import java.util.Scanner; import static java.lang.System.out; public class Erchange { private static Scanner in; public int find(int a[],int b) //a为所要查找的数 { int mid,low=0,high; high=a.length-1; while(low<=high) { mid=low+(high-low)/2; if(b<a[mid]) { high=mid-1; } else if(b>a[mid]) { low=mid+1; } else { return mid+1; } } return 0; } public static void main(String[] args) { int a[]; int t; int sum=0; Erchange p=new Erchange(); int q2 = 0; in = new Scanner(System.in); out.println("请输入数组长度"); q2= in.nextInt(); a=new int [q2]; out.println("请输入数组元素"); for(int i=0;i<a.length;i++) { a[i]=in.nextInt(); } out.println("排序后数组为"); Arrays.sort(a); for (int i = 0; i < a.length; i++) { out.print(a[i]+" "); } out.println(); out.println("请输入所要查找的数若未查找到该数则输出-1"); q2=in.nextInt(); for(int i=0;i<a.length;i++) { if(q2==a[i]) { t=1; } else { t=0; } sum=sum+t; } if(sum==0) { out.println("-1"); } else { out.println("所输入的数在第"+p.find(a,q2)+"位"); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- SpringCloud Eureka自我保护机制
- cordova插件-File Transfer
- 什么是Kotlin?Java终结者?
- cordova插件-Device Motion
- cordova插件-Device Orientation
- cordova插件-Dialogs
- SpringCloud动态刷新配置信息
- cordova插件-Device
- hadoop源码解析2 - conf包中Configuration.java解析
- junit入门实例
- cordova插件- Network Information
- SpringCloud配置中心客户端读取配置
- cordova插件- Inappbrowser
- SpringCloud配置中心高可用搭建
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python、PyGame游戏项目
- windows 认证机制
- 谷歌地球引擎python文档(GEE_python_API)
- react基础
- 基于ASP.NET Core 3.x的端点路由(Endpoint Routing)实现控制器(Controller)和操作(Action)分离的接口服务
- 流量转发映射
- 什么情况用ArrayList or LinkedList呢?
- 拒绝服务攻击
- 协议攻击(一)
- 百亿级图数据JanusGraph迁移之旅
- 协议攻击(二)
- 学不会设计模式,是因为你还没用过这个神奇的网站!
- windows域的创建
- 聊一下简易版的“Spring Boot”写的咋样了
- 手写“SpringBoot”近况:IoC模块已经完成