今天用java二分查找法写了一个测试小例子。
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
binaryChop(78);
}
/*
* java二分查找法
*/
public static void binaryChop(int search) //search参数传入要查找的元素
{
int a[]={1,5,2,73,26,21,78};
for(int i=0;i<a.length;i++) //用冒泡法给数值排序
{
for(int j=0;j<a.length;j++)
{
if(a[i]<a[j]) //有小到大排序,如果想由小到大,改为a[i]>a[j]即可
{
int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
// Arrays.sort(a); //利用java自带工具排序
for(int i:a) //打印出排序过的数值
{
System.out.print(i+" ");
}
System.out.println();
int lower=0; //记录第一个元素
int upper=a.length-1;
int index=-1;
while(lower<=upper)
{
index=(lower+upper)/2; //记录中间元素,用两边之和除2
int currentValue=a[index];
if(currentValue==search){ //如果得到的数与要查找的数相等则break退出;
break;
}else if(currentValue<search){ //如果得到的数要小于查找的数、就用下标加1;否则减1
lower=index+1;
}else{
upper=index-1;
}
}if(lower<=upper)
{
System.out.println(search+"在数组中的第:"+(index+1)+"位");
}else
{
System.out.println("里面没有这个元素!");
}
}
}
分享到:
相关推荐
用java二分查找法实现日期搜索 用java二分查找法实现日期搜索 用java二分查找法实现日期搜索
java 二分查找法的实现方法 java 二分查找法的实现方法
用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch 用java实现二分查找法BianrySearch
java实现二分查找,包含时间复杂度的计算
用java实现了二分查找,效率较高,思路清晰易懂。
本代码是利用java语言实现基本数据查询功能,实现算法为二分查找法
当你需要构建一个大的有序队列,用插入发太慢了,可以先用二分查找法,找到在队列要插入的位置,把数后移一下,然后放进去。比较效率,下面是java使用示例,需要的朋友可以参考下
主要介绍了java算法之二分查找法的实例详解的相关资料,这里提供简单实例帮助大家学习理解这部分内容,需要的朋友可以参考下
Java基础精品课06-数组循环综合应用录屏3.二分查找法.mp4
java二分查法。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
主要介绍了java数据结构之二分查找法 binarySearch的实例的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
java 折半查找法(二分查找)实例,需要的朋友可以参考一下
java代码-数组二分查找
用分治法思想实现二分查找,Java语言描述。
java代码-考试内容5-二分查找法
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码...
在js中可能会更灵活的用到a-z上,或者用到拼音…或者用到…… 不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得: 1。对拼音排序,貌似代码量不小吧。 2。然后再二分查找。这又...
本资源包括一份分治法算法分析文档,4份Java源程序,包括二分查找、归并排序、快速排序、比赛日程安排。
该工具包含有Java一些比较常见的排序算法和查找算法。 排序算法包括:冒泡排序、选择排序 、插入排序、希尔排序、快速排序、归并排序、基数...查找算法包括:线性查找、二分查找、插值查询、斐波那契(黄金分割法)、
java代码-日常练习23,取数组的最小值、最大值、排序及二分查找法