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

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

二分查找的java实现

原理:

二分查找是在一个有序表(数据是按其值由小到大或由大到小依次存放的,这里我们以值由小到大排列为例)中,每次都与中间的那个元素比较,若相等则查找成功;否则,调整查找范围,若中间那个元素的值小于待查值,则在表的后一半中查找;若中间那个元素的值大于待查值,则在表的前一半中查找;如此循环,每次只与一半中的一个元素比较,可使查找效率大大提高。

JAVA实现:

1 import java.util.Arrays;  2   3 /**  4  * This program show how to search a value in a array with binary_search method.  5  * @author hewenwu  6  * @version 2014/4/19  7  * */  8   9 public class BinarySearch { 10  11     public static void main(String[] args) { 12      13         int[] source_array = new int[100]; 14          15         //给数组随机赋值 16         for(int i=0;i<100;i++) { 17              18             source_array[i] = (int)( Math.random()*100 ); 19              20         } 21          22         int value = source_array[1];//要查找的value 23          24         //二分查找要求数组是有序的,所以先把数组排序,这里就直接调用java内置的排序算法 25          26         Arrays.sort(source_array); 27          28         //打印排序后的数组 29         for(int i=0;i
source[end]||value
end) { 94 95 return -1; 96 97 } 98 99 if(value
source[middle]){104 105 return binary_search2(source,middle+1,end,value);106 107 }else {108 109 return middle;110 111 }112 113 }114 115 116 }

 

 

 

 

转载于:https://www.cnblogs.com/hewenwu/p/3674670.html

你可能感兴趣的文章
凸优化之凸集
查看>>
2、Spring开发的jar文件
查看>>
linux -- #!/bin/bash
查看>>
引用程序集没有强名称解决办法
查看>>
poj 2965 The Pilots Brothers' refrigerator
查看>>
子集生成——回溯法的准备篇
查看>>
Python列表的增删改查和元祖
查看>>
实现多线程2
查看>>
【全网最全的博客美化系列教程】03.给博客添加一只萌萌哒的小仓鼠
查看>>
内核同步机制
查看>>
重建二叉树
查看>>
消息队列
查看>>
用 Tornado 实现简单的在线代理
查看>>
函数指针和指针函数
查看>>
HTML 如何让图片全屏的问题
查看>>
silverlight 如何在浏览器的新页面里打开一个xaml
查看>>
SQL Tuning Advisor使用实例
查看>>
server-U上传中文文件乱码
查看>>
编程珠玑:用后缀数组寻找最长重复字符串
查看>>
Java写到.txt文件,如何实现换行
查看>>