C++二分查找算法实例

发布时间 - 2026-01-11 02:50:27    点击率:

本文实例为大家分享C++二分查找算法,通过改变边界位置来进行查找的方法,代码如下:

#include <iostream>

using namespace std;


int search(int *p,int length,int key);
int search1(int *p,int length,int key);

int main()
{
  cout << "Hello world!" << endl;
  int a[] = {1,2,3,4,5,6,7,8,8,8,9,10,11,12,13,14};
  int len = sizeof(a)/sizeof(int);
  int pos = search1(a,len,8);
  cout << pos << endl;
  return 0;
}

int search1(int *p,int length,int key)
{
  int left=0;
  int right=length-1;
  while(left<=right)
  {
    int mid = (left+right)/2;
    if(p[mid]>=key)
    {
      right = mid-1;
    }else
    {
      left = mid+1;
    }
  }
  if(left<length && p[left]==key)
    return left;
  return -1;
}


int search(int *p,int length,int key)
{
  int left=0;
  int right = length -1;

  while(left<=right)
  {
    int mid = (left+right)/2;
    if(p[mid]==key)
    {
      return mid;
    }
    if(p[mid] > key)
    {
      right = mid+1;
    }
    if(p[mid]<key)
    {
      left=mid-1;
    }
  }
  return -1;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# C++  # 二分查找  # 查找算法之二分查找的C++实现  # C++ 中二分查找递归非递归实现并分析  # C++二分查找(折半查找)算法实例详解  # 二分查找算法在C/C++程序中的应用示例  # python中二分查找法的实现方法  # python实现二分查找算法  # Pythonic版二分查找实现过程原理解析  # Python如何实现的二分查找算法  # c++与python实现二分查找的原理及实现  # 大家分享  # 大家多多  # std  # namespace  # gt  # int  # key  # length  # search  # iostream  # class  # pre  # main  # brush  # lt  # include  # cpp  # sizeof  # len  # pos 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 图册素材网站设计制作软件,图册的导出方式有几种?  Laravel如何使用withoutEvents方法临时禁用模型事件  JavaScript如何实现音频处理_Web Audio API如何工作?  如何在阿里云部署织梦网站?  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  EditPlus中的正则表达式实战(5)  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何在阿里云虚拟服务器快速搭建网站?  如何注册花生壳免费域名并搭建个人网站?  如何快速生成高效建站系统源代码?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  如何获取免费开源的自助建站系统源码?  如何在服务器上三步完成建站并提升流量?  新三国志曹操传主线渭水交兵攻略  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  黑客如何利用漏洞与弱口令入侵网站服务器?  PythonWeb开发入门教程_Flask快速构建Web应用  如何在万网ECS上快速搭建专属网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  如何生成腾讯云建站专用兑换码?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  php485函数参数是什么意思_php485各参数详细说明【介绍】  智能起名网站制作软件有哪些,制作logo的软件?  *服务器网站为何频现安全漏洞?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何快速生成凡客建站的专业级图册?  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  深圳网站制作培训,深圳哪些招聘网站比较好?  Linux网络带宽限制_tc配置实践解析【教程】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  javascript如何操作浏览器历史记录_怎样实现无刷新导航  长沙做网站要多少钱,长沙国安网络怎么样?  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel如何使用模型观察者?(Observer代码示例)  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何快速搭建高效可靠的建站解决方案?  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Python3.6正式版新特性预览  如何将凡科建站内容保存为本地文件?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南