二分查找法(函数binary_search)

目录

 定义

复杂度

解析

函数binary_search

 代码实现

运行结果

 总结


 定义

二分查找也叫折半查找,是一种高效率的查找方法,但是折半查找方法要求顺序存储结构,按关键字大小有序排列。

复杂度

时间复杂度即是while循环的次数。
二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x;如果x>a[n/2],则只要在数组a的右半部搜索x.

解析

意思就是binary_search(数组,要找的数,数组长度)

 代码实现

int binary_search(int arr[], int x, int sz) 
{int left = 0;int right = sz - 1;while (left <= right)//循环条件{int mid = (left + right) / 2;if (arr[mid] < x)left = mid + 1;else if (arr[mid] > x)right = mid - 1;elsereturn mid;//找到返回main函数;}return -1;//找不到退出}
int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9 };int x;scanf("%d",&x);//输入需要查找的数int sz = sizeof(arr) / sizeof(arr[0]);//数组大小int ret = binary_search(arr, x, sz);//函数if (ret == -1)printf("找不到\n");elseprintf("找到了,下标是:%d\n", ret);return 0;
}

运行结果

 

 总结

个人见解,有错误欢迎评论区指出。同时也希望这篇文章能帮到大家!!!

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构:查找(Search)【详解】

友情链接&#xff1a;数据结构专栏 目录 查找【知识框架】 查找概论一、查找的基本概念 顺序表查找一、定义二、算法 有序表查找一、折半查找二、插值查找三、斐波那契查找 线性索引查找一、稠密索引二、分块索引三、倒排索引 二叉树排序与平衡二叉树一、二叉排序树1、定义2、…

一文搞懂VLOOKUP、INDEX、MATCH函数

最近&#xff0c;在学习数据分析方向的东西&#xff0c;众所周知&#xff0c;Excel是数据分析所不可或缺的工具&#xff0c;由于过往并没有对Excel进行过深入研究&#xff0c;因此当首次接触到Excel中的函数时&#xff0c;不可避免地被其中一些函数的逻辑绕得有些晕&#xff0c…

查找匹配函数FIND和SEARCH的基本用法

一、Excel中FIND函数和SEARCH函数的用法 FIND函数区分大小写,不支持通配符 **SEARCH ** 函数不区分大小写,支持通配符 有这样一个产品: 注:文本 “KitchenAId 和 Stockwell”内有空格 现在我们看这两个函数的用法: 1.FIND(find_text,within_text, [start_num]) 注意:…

Excel字符函数(3):字符查找函数Find、Search

工作中&#xff0c;有时候编号与时间、短信回复内容、评论内容等常有混在一起需要拆分的情况&#xff0c;还有一些从数据库Oracle、Mysql等导出的数据字段内容需要拆分&#xff0c;那么除了MID、LEN、SUBSTITUTE等字符函数外&#xff0c;用的最多的就是Find、Search函数了。 &a…

简单使用Search()函数

给出两个范围&#xff0c;返回一个ForwardIterator&#xff0c; 查找成功指向第一个范围内第一次出现子序列 (第二个范围)的位置&#xff0c;查找失败指向last1。重载版本使用自定义的比较操作。 std::vector<int> vec { 1,2,3,4,5,4,4,4,4,2,3 }; std::vector<int&…

Excel中SEARCH函数的使用方法

SEARCH函数是Excel中常用的文本查找函数&#xff0c;它可以返回查找指定的文本字符在某个字符串中的位置。它的语法结构是SEARCH(find_text,within_text,[start_num]) 如下图A列是随机生成的一些数值&#xff0c;现在想要查找出数值4在这些数值中的位置。 在C2单元格录入公式SE…

C++ search()函数用法详解(深入了解,一文学会)

find_end() 函数用于在序列 A 中查找序列 B 最后一次出现的位置。那么&#xff0c;如果想知道序列 B 在序列 A 中第一次出现的位置&#xff0c;该如何实现呢&#xff1f;可以借助 search() 函数。 search() 函数定义在<algorithm>头文件中&#xff0c;其功能恰好和 find…

如何让你的 Win10 任务栏全透明?

Windows7有系统自带的任务栏透明&#xff0c;但Windows10没有&#xff0c;怎么办呢&#xff1f;没关系&#xff0c;我们用下面这款软件就可以啦&#xff0c;就在微软商店里面&#xff0c;可以免费下载。 配合自动隐藏任务栏食用更佳 最后再关掉小娜&#xff0c;我们来看看效果…

win10 怎么把任务栏变透明

win10系统任务栏颜色重&#xff0c;看起来十分不舒服&#xff0c;那么怎样增加它的透明度呢&#xff1f;一起来看具体步骤&#xff1a; 1.进入设置—>个性化—>颜色&#xff0c;开启“透明效果”选项。 2.按win R&#xff0c;打开运行&#xff0c;输入“regedit”&…

Win10 任务栏透明工具-TranslucentTB

之前比较痴迷Win10系统的美化_||&#xff0c;也找到了好多很好用的小工具&#xff0c;对于Win10的任务栏&#xff0c;一直在尝试让他透明化&#xff0c;&#xff08;深色壁纸还好&#xff0c;浅色壁纸简直不能忍。。&#xff09;&#xff0c;也试过startisback等等软件&#xf…

win10 任务栏全透明,一键设置(translucentTB)

方式1&#xff1a; 通过系统个性化设置任务栏为透明&#xff0c;但此方法可能行不通&#xff0c;就算设置成功了也是只有50%的透明度 要使任务栏全透明&#xff0c;只能采用方式2&#xff0c;使用软件translucentTB 方式2 可以实现win10任务栏全透明的工具&#xff1a; 链接…

android设置透明状态栏

在写这篇文章之前也看过很多大牛的博客&#xff0c;但是大多数都写的比较深奥和跳跃 而且网上还有很多对于透明状态栏及沉浸式状态栏的争论&#xff0c;简直看的头晕眼花 在此我用专业菜鸟的术语给大家解释一下&#xff1a; 沉浸式状态栏&#xff1a;就是你看视频&#xff08…

Win10任务栏透明,3个超好用解决方法!

案例&#xff1a;win10任务栏透明怎么办&#xff1f; 【我的电脑不知道为什么任务栏突然就变透明了&#xff0c;现在不知道该如何解决&#xff0c;遇到这种情况应该怎么办呀&#xff1f;】 Win10任务栏是Windows 10操作系统的一部分&#xff0c;通常默认为不透明。然而&#…

win11更新后Translucent TB 任务栏透明失效

不废话直接步骤 1.下载ViVeTools 下载 2.选择ViVeTools.zip 解压 3.在解压目录下以管理员打开CMD 4.查询26008830 ID的状态 ViVeTool.exe /query关闭为 disabled 开启为 enabled (需要设置为关闭) 5.关闭命令 ViVeTool.exe /enable /id:26008830 /variant:26.重启

Windows11任务栏无法透明化解决办法

Windows11家庭版停止系统更新 你可以选择停或是不停&#xff0c;下次更新可能就把任务栏又给整不能透明了 修改注册表 对于运行Windows11家庭版的用户&#xff0c;没有组策略编辑器&#xff0c;但可以使用注册表停止自动更新。 注意&#xff1a;错误地修改注册表可能会对您…

win10如何使任务栏全透明

> 学习汇总&#xff08;持续更新&#xff09; > 从零搭建后端基础设施系列&#xff08;一&#xff09;-- 背景介绍 首先需要用到一款软件,名字是StartIsBack 附上百度云地址: 链接&#xff1a;http://pan.baidu.com/s/1hrTGFAk 密码&#xff1a;lr6e 安装过程很简单&…

win10透明任务栏教程

win10透明任务栏教程 虽然win10秋季创意者更新加入了毛玻璃效果&#xff0c;但我们又怎么能就此满足&#xff0c;张科技今天带领大家体验一下完全透明的win10任务栏&#xff1a; 首先需要一款软件&#xff0c;名为 StartIsBack&#xff0c;回复【任务栏】获取下载地址&#x…

win10系统任务栏透明方法

win10任务栏透明 很多用了TranslucentTB或者StartIsBack的朋友都应该或多或少对这两款软件的缺陷保有遗憾&#xff0c;前者虽然适用于各个Windows版本、绿色小巧&#xff0c;但效果却不大理想&#xff0c;后者虽然效果完美&#xff0c;但必须随着Windows更新不断升级版本否则会…

win10任务栏全透明

一个可以实现win10任务栏全透明的工具&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1LSgxGAZxxuxE3rC3_L7fTg 密码&#xff1a;51dz。用VS2017打包的程序&#xff0c;使用方法是安装完打开&#xff0c;在任务栏点击程序图标可以选择不同的功能。效果如下&#xff1a; …

计算机管理设置透明,教你把win10任务栏透明设置

有时候我们看到别人电脑win10系统的任务栏的透明的&#xff0c;看起来很有个性&#xff0c;觉得非常好看&#xff0c;想要给自己的电脑的win10系统设置下&#xff0c;如何操作呢&#xff1f;下面跟随小编分享的教程操作一下&#xff0c;快速帮你把win10任务栏设置透明。 经常给…