博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java实现二分查找
阅读量:6229 次
发布时间:2019-06-21

本文共 1671 字,大约阅读时间需要 5 分钟。

public class BinarySearch {         /**         * 二分查找算法         *         * @param srcArray 有序数组         * @param key 查找元素         * @return key的数组下标,没找到返回-1         */          public static void main(String[] args) {             int srcArray[] = {3,5,11,17,21,23,28,30,32,50,64,78,81,95,101};               System.out.println(binSearch(srcArray, 0, srcArray.length - 1, 81));          }         // 二分查找递归实现           public static int binSearch(int srcArray[], int start, int end, int key) {               int mid = (end - start) / 2 + start;               if (srcArray[mid] == key) {                   return mid;               }               if (start >= end) {                   return -1;               } else if (key > srcArray[mid]) {                   return binSearch(srcArray, mid + 1, end, key);               } else if (key < srcArray[mid]) {                   return binSearch(srcArray, start, mid - 1, key);               }               return -1;           }         // 二分查找普通循环实现           public static int binSearch(int srcArray[], int key) {               int mid = srcArray.length / 2;               if (key == srcArray[mid]) {                   return mid;               }               int start = 0;               int end = srcArray.length - 1;               while (start <= end) {                   mid = (end - start) / 2 + start;                   if (key < srcArray[mid]) {                      end = mid - 1;                   } else if (key > srcArray[mid]) {                       start = mid + 1;                   } else {                       return mid;                   }               }               return -1;           }     }

转载地址:http://bxtna.baihongyu.com/

你可能感兴趣的文章
自定义maven变量以及maven内置常量
查看>>
ChemDraw 15.1 Pro插入阿尔法可以这样做
查看>>
liunx下安装JDK
查看>>
如何有效减少测试用例数目
查看>>
Win10 + VS2015 下编译 Qt5.6.0
查看>>
js关闭当前页面(窗口)的几种方式总结
查看>>
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide
查看>>
前端模拟API数据的两种方式
查看>>
Django Rest Framework remove csrf
查看>>
linux 学习笔记 软件包管理
查看>>
HTML5学习之三:文件与拖放
查看>>
41. 包含min函数的栈
查看>>
07-linux基础四-系统监控和硬盘分区
查看>>
Struts2之上传
查看>>
centos7 修改 PATH环境变量(注意,不是添加!!!TMD)
查看>>
Fetch from Upstream 变灰失效
查看>>
唉,都是一辈子呀…
查看>>
pmwiki制作网页的基本操作
查看>>
织梦开发——相关阅读likeart应用
查看>>
SQL2008-表对表直接复制数据
查看>>