代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
二分查找
作者:
WillyLiu
/ 发布于
2013/5/28
/
598
public class Serach5 { public static void main(String args[]) { int [] a={1,2,3,4,5,7,8,9,10}; Serach5 s=new Serach5(); System.out.println(s.contains(a, 0, a.length-1, 3)); System.out.println(s.binarySerach2(a, 0, a.length-1, 6)); } public boolean contains(int[] a,int start,int end,int item) { return binarySerach(a, start, end, item); } /** * 递归实现二分查找 * @param a 数组为有序数组 * @param start * @param end * @param item 需要查找的元素 * @return 找到返回true,否则返回false */ public boolean binarySerach(int[] a,int start,int end,int item) { boolean found=false; int mid=(start+end)/2; if(start>end) found=false; else if(a[mid]==item) found=true; else if(a[mid]<item) found=binarySerach(a,mid+1,end,item); else if(a[mid]>item) found=binarySerach(a,start,mid-1,item); return found; } /** * 迭代实现二分查找 * @param a 数组为有序数组 * @param start * @param end * @param item 需要查找的元素 * @return 找到返回索引,否则返回应该插入的位置 */ public int binarySerach2(int[] a,int start,int end,int item) { int mid=-1; while(start<=end) { mid=(start+end)/2; if(a[mid]<item) start=mid+1; else if(a[mid]>item) end=mid-1; else return mid; } return -(mid+1); } }
试试其它关键字
二分查找
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
WillyLiu
贡献的其它代码
(
1
)
.
二分查找
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3