感觉用不到  我就随便敲了敲代码。

package com.ldy.arithmetic.search;import org.apache.tomcat.jni.Error;import java.util.ArrayList;
import java.util.Arrays;public class BlockBinarySearch {private int[] ints;private ArrayList[] lists;public BlockBinarySearch(){}public  BlockBinarySearch(int[] ints) throws Exception {if(ints !=null && ints.length>0){this.ints = ints;lists = new ArrayList[ints.length];for (int i=0;i<lists.length;i++) {lists[i]=new ArrayList();}}else{throw new Exception("index can't be null or empty~");}}public void insert(int data) throws Exception {int index=binarySearch(data);lists[index].add(data);}public void search(int data) throws Exception {int i=binarySearch(data);for(int j=0;j<lists[i].size();j++){if(data ==(int)lists[i].get(j)){System.out.println(String.format("'%d' Position: [%d,%d]", data, i, j));return;}}System.out.println(String.format("'%d' Position: Not found", data));}private int binarySearch(int data) throws Exception {
//        if(data > ints[ints.length-1]){
//            throw new Exception("out of block range");
//        }int start = 0;int end = ints.length -1 ;int mid;while(start<end){mid=(start+end)>>>1;if(ints[mid]>data) end = mid - 1 ;else start=mid + 1;}return start;}public static void main(String[] args) throws Exception {int[] ints=new int[]{10,20,30,40,50,60};BlockBinarySearch blockBinarySearch=new BlockBinarySearch(ints);
//        System.out.println(Arrays.toString(ints));blockBinarySearch.insert(6);blockBinarySearch.insert(7);blockBinarySearch.insert(50);blockBinarySearch.insert(19);blockBinarySearch.insert(20);blockBinarySearch.insert(25);blockBinarySearch.insert(500);//        blockBinarySearch.search(1);
//        blockBinarySearch.search(2);
//        blockBinarySearch.search(3);
//        blockBinarySearch.search(5);
//        blockBinarySearch.search(6);
//        blockBinarySearch.search(7);System.out.println(Arrays.toString(blockBinarySearch.lists));}
}

分块查找 转载自https://www.cnblogs.com/Ming8006/p/8330481.html相关推荐

  1. 全面理解Javascript闭包和闭包的几种写法及用途--转载自https://www.cnblogs.com/yunfeifei/p/4019504.html...

    全面理解Javascript闭包和闭包的几种写法及用途 好久没有写博客了,过了一个十一长假都变懒了,今天总算是恢复状态了.好了,进入正题,今天来说一说javascript里面的闭包吧!本篇博客主要讲一 ...

  2. C#事件与委托详解【精华 多看看】--转载于https://www.cnblogs.com/sjqq/p/6917497.html

    Delegate delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类.与其它的类不同,delegate类能够拥有一个签名(signature),并且它"只能持有与 ...

  3. IntelliJ IDEA2017 修改缓存文件的路径(转载:https://www.cnblogs.com/acm-bingzi/p/ideaCachePath.html)

    IDEA的缓存文件夹.IntelliJIdea2017.1,存放着IDEA的破解密码,各个项目的缓存,默认是在C盘的用户目录下,目前有1.5G大小.现在想要把它从C盘移出. 在IDEA的安装路径下中, ...

  4. 【接口时序】5、QSPI Flash的原理与QSPI时序的Verilog实现(转载)https://www.cnblogs.com/liujinggang/p/9651170.html

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:ISE14.7 3.仿真工具:ModelSim-10.4-SE 4.Matlab版本:Matlab2014b/ ...

  5. date详解,date操作的案例,转载:https://www.cnblogs.com/kimbo/p/7102203.html

    格式:date [选项] - [+格式] 选项说明:-d ,–date=字符串 显示指定字符串所描述的时间 案例1: #!/bin/bash ##1. 获取当前系统时间 YYYY-MM-DD HH:M ...

  6. Servlet-原理转载 (https://www.cnblogs.com/cangqinglang/p/9290626.html)

    1.两大架包 servlet主要引入两个架包: :javax.servlet和javax.servlet.http. javax.servlet 定义了所有的servlet类都必须实现的类与接口. j ...

  7. selector是在文件夹drawable中进行定义的xml文件转载 https://www.cnblogs.com/fx2008/p/3157040.html...

    获取Drawable对象: Resources res = mContext.getResources(); Drawable myImage = res.getDrawable(R.drawable ...

  8. 转载 1-EasyNetQ介绍(黄亮翻译) https://www.cnblogs.com/HuangLiang/p/7105659.html

    EasyNetQ 是一个容易使用,坚固的,针对RabbitMQ的 .NET API. 假如你尽可能快的想去安装和运行RabbitMQ,请去看入门指南. EasyNetQ是为了提供一个尽可能简洁的适用与 ...

  9. (二)surging 微服务框架使用系列之surging 的准备工作consul安装(转载 https://www.cnblogs.com/alangur/p/8377977.html)...

    (二)surging 微服务框架使用系列之surging 的准备工作consul安装 suging 的注册中心支持consul跟zookeeper.因为consul跟zookeeper的配置都差不多, ...

最新文章

  1. Web安全学习week6
  2. 星跃计划 | 新项目持续招募中!MSR Asia-MSR Redmond 联合科研计划邀你申请!
  3. zookeeper理解
  4. SkipList 以及高度的确定
  5. asp.net ReportViewer 设置 rdlc textbox的值
  6. Java 复习笔记 线程Thread
  7. tomcat PermGen space 不足的解决方法
  8. Remoting學習(三)----Reomoting 基楚知識
  9. 隔离是否有效?北大面向新冠疫情的数据可视化分析与模拟预测
  10. 如何基于云通讯构建企业移动信息化竞争力
  11. 计算机应软件与理论学什么,计算机软件与理论
  12. log4cpp 概述与基本使用实例(一)
  13. 三角网导线平差实例_导线三角网平差计算中的Wd是什么意思啊?怎么的算出来的?...
  14. 谷歌清楚缓存快捷键_清除浏览器缓存的快捷键是什么
  15. tftp命令下载或上传文件
  16. 信号灯管理服务器CPU型号,正文-新华三集团-H3C
  17. Linux搭建Ngrok服务器详细过程
  18. 不要去外包亲身经历告诉你 去外包的后果
  19. 洪恩机器人课程提示_洪恩儿童机器人
  20. java---制表符

热门文章

  1. python格式化字符串
  2. 280049 CLB编译过程不产生CLB.vcd文件问题解决办法
  3. 网赚项目,什么才是长期有效的引流方法?
  4. 2021届高考成绩查询安徽铜陵三中,铜陵三中——铜陵三中召开2021届综合素质评价及外语口语考试布置会...
  5. 数据中心制冷的鸡肋——动态平衡阀-孙长青
  6. class10:子路由和MVC模型
  7. Vue 菜单路由(router)只替换对应主页面中内容,而不是整个home页面的router index.js的两种设置方法
  8. Halcon20.11深度学习版安装与配置
  9. java毕设项目家教平台系统(附源码)
  10. Ubuntu 16.04 LTS 安装RealSense R200 驱动以及SDK配置+QT+OpenCV