当前位置: 首页 > news >正文

二分查找模版

二分:精确查找

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int main()
 7 {
 8     int target,i,j,mid,r,l;
 9     int a[]={1,1,2,2,3,5};
10     cout<<a[5]<<endl;
11     target=3;
12     l=0;r=6;
13     while(r>=l)
14     {
15         mid=(r+l)>>1;
16         if(a[mid]==target)
17         break;
18         else if(a[mid]<target)
19         l=mid+1;
20         else
21         r=mid-1;
22     }
23     printf("%d\n",mid);
24 }

二分上限查找:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int main()
 7 {
 8     int target,i,j,mid,r,l;
 9     int a[]={2,2,2,2,5,6};
10     //cout<<a[5]<<endl;
11     target=2;
12     l=0;r=6;
13     mid=(l+r)>>1;
14     while(r>l)
15     {
16         if(a[mid]>target)
17         r=mid;
18         else
19         l=mid+1;
20         mid=(l+r)>>1;
21     }
22     printf("%d\n",mid);
23 }

二分下限查找:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int main()
 7 {
 8     int target,i,j,mid,r,l;
 9     int a[]={1,2,2,2,3,6};
10     //cout<<a[5]<<endl;
11     target=2;
12     l=0;r=6;
13     mid=(l+r+1)>>1;
14     while(r>l)
15     {
16         if(a[mid]<target)
17         l=mid;
18         else
19         r=mid-1;
20         mid=(l+r+1)>>1;
21     }
22     printf("%d\n",mid);
23 }

 

相关文章:

  • 大恶人吉日嘎拉之走火入魔闭门造车之.NET疯狂架构经验分享系列之(三)商业逻辑代码部分...
  • [每日一点]msgsnd函数代码跟踪
  • 硬币
  • 数字化管理(Digital Management)
  • 【生活】2017 开始!
  • UNIX IO---再谈文件描述符
  • HTML5 拖放(Drag 和 Drop)详解与实例
  • ⒍环境变量
  • 清北学堂总结(未完待续。。。。。。。)
  • 类QQ右下角弹出消息对话框(jQuery插件)
  • Struts2教程3:struts.xml常用配置解析
  • 如何安装 gearmand 及对应的 php 扩展
  • [osgearth]通过API创建一个earth模型
  • 我的博客的第一篇文章
  • 八数码问题
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 2019年如何成为全栈工程师?
  • canvas绘制圆角头像
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ERLANG 网工修炼笔记 ---- UDP
  • express如何解决request entity too large问题
  • JavaScript设计模式与开发实践系列之策略模式
  • JavaScript设计模式之工厂模式
  • JS学习笔记——闭包
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • October CMS - 快速入门 9 Images And Galleries
  • pdf文件如何在线转换为jpg图片
  • Python学习笔记 字符串拼接
  • vue的全局变量和全局拦截请求器
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 规范化安全开发 KOA 手脚架
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端性能优化——回流与重绘
  • 数据可视化之 Sankey 桑基图的实现
  • 我这样减少了26.5M Java内存!
  • 小程序01:wepy框架整合iview webapp UI
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 你对linux中grep命令知道多少?
  • C# - 为值类型重定义相等性
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​虚拟化系列介绍(十)
  • (2)STM32单片机上位机
  • (ibm)Java 语言的 XPath API
  • (Java数据结构)ArrayList
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (三) diretfbrc详解
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)scrum常见工具列表
  • (转载)OpenStack Hacker养成指南
  • .“空心村”成因分析及解决对策122344