package com.array;

 public class BinaryFind {
/*
* 项目名称:二分查找 ;
* 项目要求:用JAVA对数组进行查找,并运用快速查找算法;
* 作者:Sevck;
*/
public void find(int leftIndex, int rightIndex, int val, int arr[]) {
// 首先找到中间的数
int midIndex = (leftIndex + rightIndex) / 2;
int midval = arr[midIndex];
// 如果要找的数比midval大
if (rightIndex >= leftIndex) {
if (midval > val) {
// 在arr左边数中找
find(leftIndex, midIndex - 1, val, arr);
} else if (midval < val) {
// 在arr右边数中找
find(midIndex + 1, rightIndex, val, arr);
} else if (midval == val) {
System.out.println("找到下标" + midIndex);
}
}
} public static void main(String[] args) {
int arr[] = { 2, 5, 7, 12, 55 };
BinaryFind bf = new BinaryFind();
bf.find(0, arr.length - 1, 12, arr);
}
}

最新文章

  1. Selenium WebDriver 处理cookie
  2. SOAP 格式设置选项
  3. java版本的学生管理系统
  4. 数据文件 和日志文件 收缩 Sql Server
  5. DataProvider 传递参数
  6. HDU 4284 状压dp+spfa
  7. Azure China
  8. 判断为false的情况
  9. WinForm DotNetBar 动态添加DataGridView
  10. Java中Enumeration接口的用法
  11. Mac上在终端上解压与压缩
  12. Office 2010 word无法创建工作文件 请检查临时环境变量 的解决办法
  13. 洛谷P4425 [HNOI/AHOI2018]转盘(线段树)
  14. jenkins 构建后发送钉钉消息通知(插件)
  15. 用python查看windows事件日志的方法(待后续研究)
  16. MV人物抹去
  17. SQL Server 性能优化详解
  18. Java给图片和PDF文件添加水印(图片水印和文字水印)
  19. &#39;WebElement&#39; object is not iterable
  20. 项目重命名&amp;复制项目&amp;删除项目

热门文章

  1. 介绍“Razor”— ASP.NET的一个新视图引擎
  2. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.2.更换主题
  3. JavaEE基础(二十三)/递归
  4. 删除ecshop登录后台看到的系统信息
  5. ecshop后台增加模块菜单详细教程(图)
  6. 【转载】使用barman备份PostgreSQL
  7. ACM题目————The Blocks Problem
  8. quick lua 使用spine骨骼动画
  9. 【转】启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法! .
  10. css3 简单动画