通过ip地址查看 ip地址的归属地,这个功能实现起来并不复杂,它是通过维护一个很大的ip地址库来实现的,比如查找 202..133.3 该ip地址库,那便会在对应的ip地址库中找到 一个区间 如 [202..100.3 ~ 202.*.255.3] 广东省深圳市 。

那么如何在庞大的ip地址库中快速定位到指定的ip地址所在的归属地呢 ? 这便要用到二分查找法了,ip地址是可以转换成相应的整数的,所以我们只需要查找到对应的最后一个IP地址小于或者是等于该地值的ip地址即可,示例代码如下:

//  a 为递增整型数组
public int bsearch(int[] a,int n,int value){int low = 0;int high = n - 1 ;while(low <= high){int mid  = low + (high - low ) >> 1 ;if(a[mid] > value){high = mid -1 ;}else {if(mid == n -1 || (a[mid + 1] > )) return mid ;else low = mid + 1 ;
}
}
}

如何在庞大的ip地址库中快速定位到对应的ip地址所对应的归属地?相关推荐

  1. 跨进程实现在Tree中快速定位节点

    跨进程实现在Tree中快速定位节点 --------------------------------------------------------------------------------   ...

  2. 怎么扫描同网段mac地址linux,如何快速收集局域网内的IP+MAC信息?用这个扫描器分分钟搞定!!!...

    原标题:如何快速收集局域网内的IP+MAC信息?用这个扫描器分分钟搞定!!! 网 工 圈 中国圈内 最早的公益 公众号,本号已认证(关注近 5w+) 关注 科来MAC地址扫描器安装 1.右键" ...

  3. Xcode中快速定位、快速查找、快速查看文档、快速解决不再打印等技巧

    文章原文地址:http://blog.sina.com.cn/s/blog_68f324850102x4et.html 技巧一:快速定位 XGLog(@"----%s----%d------ ...

  4. 在Excel表格中快速定位的方法

    在Excel中,我们需要到达某一单元格,一般是使用鼠标拖动滚动条来进行,但如果数据范围超出一屏幕显示范围或数据行数非常多时,想快速定位到某一单元格可要有点麻烦了. 其实我们可以使用"定位&q ...

  5. MAC OS Finder 中快速定位指定路径

    在看一些 tip 文章的时候,时不时会有需要进到某某目录替换文件之类的步骤.如果碰上这个目录层次够多,一层一层的点击既麻烦又容易出错,有什么快捷的办法呢? 快捷键:Shift + Command + ...

  6. 如何在CAD中快速定位坐标?

    我们在CAD制图工作中会遇到关于定位坐标的各种问题.如何在CAD中快 速定位坐标?今天我就在这里和大家分享一下,本次使用CAD编辑器标准版快 速定位坐标方法. 步骤1,安 装运行CAD编辑器标准版,在 ...

  7. Vim中快速定位到某一行的方法

    1. 定位到第一行:   1 + shift + G 2. 定位到最后一行:shift + G 3. 定位到第x行:      x + shift + G 或在Vim中: :x 补充: 在Vim中设置 ...

  8. 如何在vs2008,vs2010的解决方案管理器中快速定位文件位置

    1.如果当前文件正在代码编辑器中显示的话,你可以这样设置: Tools->Options->Projects and Solutions. 然后在右侧界面中,把 Track Active ...

  9. IP地址库介绍 (转)

    IP地址库介绍 摘要 在CDN系统中,IP地址库在流量调度.网络服务质量监测等方面起到重要的作用,本文主要介绍了IP地址库的功能.内容以及IP地址库的生成和评价方法 什么是IP地址库? 所谓IP地址库 ...

最新文章

  1. 如何利用 Python 爬取 LOL 高清精美壁纸?
  2. Vue之vue-cli安装与简单调试
  3. java二维码生成与解析代码实现
  4. Spring的静态代理和动态代理
  5. 汇编语言介绍,内存和总线的初步认识
  6. Kubernetes存储之ConfigMap
  7. 我的世界1.7.10java下载安装_我的世界1.7.10正式版
  8. python颜色填充代码_在python tu中用颜色填充形状
  9. 如何解决类模板的分离编译问题?
  10. 仿芒果TV微信小程序
  11. 2017-2018-1 20155301 20155307 20155339 《信息安全系统设计基础》 实验一 开发环境的熟悉...
  12. Oracle增加自增长列
  13. 美团打车已攻到北京,滴滴还在忙着收小蓝单车?
  14. CAJViewer 无法获取document路径问题--360卫士C盘搬家
  15. js 拖拽上传文件及文件夹
  16. mac 固态硬盘 格式化_您可以格式化硬盘或固态硬盘多少次?
  17. 探索肠道细菌的营养偏好
  18. 虚拟机(vmware)linux中ctrl按键失灵 解决办法
  19. 用Matlab生成Ornstein-Uhlenbeck过程
  20. 用Python制作一条五彩蟒蛇

热门文章

  1. message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogramRoot` 目录内,或配置 project.config.json 的 packNpmMa
  2. 每周分享第 47 期
  3. 各种浏览器下载tampermonkey网址
  4. 大白用html5制作,别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感!...
  5. AI修图!pix2pix网络介绍与tensorflow实现
  6. 聚苯硫醚离子液体|苯硼酸离子液体|聚缩醛离子液体|透明质酸离子液体
  7. 360 os3.0 android7.1,360手机N5s发布:升级基于安卓7.1的360 OS 2.0系统
  8. mybatis 批量添加 过滤库里已有数据
  9. 联通4g 小米不显示无服务器,小米旗舰机断流严重,信号满格消息却发不出去?...
  10. 谈谈我对上手MacOS的体验与macos常用快捷键总结