二分查找离左边元素最近的(可以等于)

int compare(const void *a,const void *b)
{return *(int *)a-*(int *)b;
}
//二分查找离元素(可以等于)
int bi_search(int num[10], int len, int target)
{
<span style="white-space:pre">	</span>int begin = 0;
<span style="white-space:pre">	</span>int end = len-1;<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>while(begin<end)
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>int mid = (begin+end)/2;
<span style="white-space:pre">		</span>cout<<mid<<" "<<target<<endl;
<span style="white-space:pre">		</span>cout<<mid<<" "<<len-1<<endl;
<span style="white-space:pre">		</span>//最近的一个
<span style="white-space:pre">		</span>if(num[mid]==target)
<span style="white-space:pre">			</span>return mid;
<span style="white-space:pre">		</span>else if(num[mid]>target)
<span style="white-space:pre">			</span>end = mid-1;
<span style="white-space:pre">		</span>else
<span style="white-space:pre">			</span>begin = mid+1;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>cout<<"begin:"<<begin<<"end:"<<end<<endl;
<span style="white-space:pre">	</span>return end;
}
void main()
{int num[10]={11,35,65,25,79,54,34,66,92,30};qsort(num,10,sizeof(int),compare);for(int i=0;i<10;i++)cout<<num[i]<<" ";cout<<endl;int index = bi_search(num, 10, 36);cout<<index<<endl;
}

转载于:https://www.cnblogs.com/yan456jie/p/5369382.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[ECMAScript] 说说你对set数据结构的理解

[ECMAScript] 说说你对set数据结构的理解 似于数组&#xff0c;但它的一大特性就是所有元素都是唯一的&#xff0c;没有重复。 在向Set加入值时&#xff0c;Set不会转换数据类型&#xff0c;内部在判断元素是否存在时用的类似于精确等于()的方法&#xff0c;“2”和2是不同的&…

ecshop 标签使用 非常好的例子

ecshop 标签使用 非常好的例子 在ECSHOP代码的history.lbi 中有下面的用法。 {insert namehistory} &#xff0c;是用来显示浏览历史的。 跟踪代码后发现&#xff0c;控制语句是在 includes/lib_insert.php 文件。 这个文件是ECSHOP 动态内容函数库。 里面定义各个函数的格式都…

SecureCRT无法登录Ubuntu

一个Ubuntu系统刚安装好时&#xff0c;可能缺少必要的软件&#xff0c;导致出现各种奇怪的问题。比如&#xff1a;SecureCRT无法登录Ubuntu 最初以为是防火墙的原因&#xff0c;后来把防火墙关了后&#xff0c;发现还是一样&#xff0c;最终在网上找到了答案&#xff0c;就是因…

[数学最安逸][UVa1638改编][第一类斯特林数+组合数]杆子的排列

有高为1,2,3,...,n的杆子各一根排成一行。从左边能看到l根&#xff0c;从右边能看到r根&#xff0c;求有多少种可能。 (l,r < 200,n < 200000) 给出T 组数据 (T < 500000) 对于每一组数据输出可能的个数&#xff0c;为避免写高精&#xff0c;将答案模 1e9 7 (它为质…

[ECMAScript] 谈谈你对es6的module体系的理解

[ECMAScript] 谈谈你对es6的module体系的理解 es5的模块规范出来之前&#xff0c;前端也实现了比如AMD CMD模块规范&#xff0c;对前端模块进行管理。 es6的模块规范在语言层面实现了模块功能 为什么需要模块化&#xff0c;没有模块化之前&#xff0c;开发者如果想封装代码&a…

Servlet的生命周期 与CGI的区别

2019独角兽企业重金招聘Python工程师标准>>> 对于Servlet&#xff0c;服务器只创建每个servlet的单一实例&#xff0c;每个用户请求都会引发新的线程-----将用户请求将会给相应的doGet/doPost进行处理。那么&#xff0c;servlet是如何进行创建和销毁的&#xff1f; …

自动化打包资源混淆集成python实践----资源混淆

前面自动化打包资源混淆集成python实践----打包一文讲述了四种打包方案&#xff0c;以及美团打包方案、apk注释添加渠道号方案的实现。这里讲集成资源混淆。 1、资源混淆带来的好处&#xff1a; 1&#xff09;对资源文件起一定的保护作用&#xff0c;使其不能知其名不知意&…

[ECMAScript] 说说你对Babel的了解?

[ECMAScript] 说说你对Babel的了解&#xff1f; 1.将es6/7/8/9/10转换为es5 2.将jsx转换为js 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

[win7] 去除将窗口拖到屏幕边缘时“自动最大化”

在win7中将一个窗口拖到屏幕的边缘&#xff0c;这个窗口将会自动以最大化方式显示&#xff0c;这对于那些需要同时查看两个窗口中内容的用户来说就是个恶梦&#xff01;因为屏幕大小是有限的&#xff0c;为了同时查看两个窗口中的内容&#xff0c;就要将这两个窗口以合适的方式…

优秀技术人才需具备能力

1、工作经验。工作经验是通过对具体工作和与工作相关的知识与问题进行不断反思&#xff0c;总结其内在规律&#xff0c;并不断的进行创新和积累&#xff0c;形成知识和具体能力的过程。通过工作经验我们可以知道他曾经具体做过什么事情&#xff0c;做成功了什么事情。 一个应聘…

[ECMAScript] 说说你对async/await的理解?

[ECMAScript] 说说你对async/await的理解&#xff1f; async函数返回的是一个promise对象&#xff0c;它可以用then方法添加回调函数。 当函数执行的时候一旦遇到await就会阻塞后面的代码&#xff0c;等待promise的resolve() 作为await的返回结果。 个人简介 我是歌谣&#…

python中实现定时器Timer

实现定时器最简单的办法是就是循环中间嵌time.sleep(seconds)&#xff0c; 这里我就不赘述了 # encoding: UTF-8 import threading #Timer&#xff08;定时器&#xff09;是Thread的派生类&#xff0c; #用于在指定时间后调用一个方法。 def func():print hello timer! timer …

对当前目录及子目录下的所有源码文件及Makefile打包

自己认为一个比较有用的bash脚本&#xff0c;方便开发人员将修改过的源文件及Makefile文件打包并带到其他地方去使用 #!/bin/shif test $# -lt 1; thendestFilebasename $PWD elsedestFile$1 fifind . -name "*.h" -o -name "*.hh" -o -name "*.hpp&q…

nib和xib的区别

nib 是NeXT Interface Builder的缩写。xib 是 xml nib 文件&#xff0c;于2007年 Leopard (and Xcode 3.0) 版本中更新。 以源码方式打开查看&#xff1a;< ?xml version"1.0" encoding"UTF-8"?>78410F2521…… 相同点&#xff1a;NIB 和 XIB 都是…

[ECMAScript] 你喜欢es6的哪些特性?

[ECMAScript] 你喜欢es6的哪些特性&#xff1f; 展开操作符 解构赋值 字符串插值 方法属性 find findIndex Includes Promise ESM 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一…

iOS 应用程序的国际化

什么事应用程序的国际化? 就是不同国家之间使用的语言不一样,中国人的应用程序显示的汉字,美国人的应用程序是英文. 接下来我们就来实现应用程序的国际化: 1.首先我们新建一个工程,命名为:Internationalization-Demo; 2.添加语言(配置语言):(英文和中文) 3.目前&#xff0c;应…

关于sizeof在不同平台下的值

sizeof在不同平台的值并不一样&#xff0c;大家注意下: /*Ubuntu12_x64环境下:sizeof()返回值类型是long unsigned intsizeof(long) 8sizeof(void) 1sizeof(void*) 8Win7_x64, VC2010环境下&#xff08;目标机器: 32位&#xff09;:sizeof(long) 4sizeof(void) 0sizeof(vo…

Eclipse3.7 Indigo 字体设置为Courier New

Eclipse版本&#xff1a;Indigo Service Release 2 打开c:/windows/fonts()确认该字体存是否存在。 1.C:/windows/fonts/Courier New 右键 ->显示 (window7 C:\Windows\Fonts) window7系统到这一步 问题可能已解决了 重新打开Eclipse Window->preference-->Colors a…

[ECMAScript] 说说你对class的理解

[ECMAScript] 说说你对class的理解 语法糖&#xff0c;本质上还是function 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

数据库包装成类

<?phpclass DBDA {public $host "localhost"; //服务器地址public $uid "root"; //数据库的用户名public $pwd "123"; //数据库的密码//执行SQL语句&#xff0c;返回相应结果的函数//$sql是要执行的SQL语句//$type是SQL语句的类型&#x…