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


相关推荐: 矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在阿里云服务器自主搭建网站?  如何用狗爹虚拟主机快速搭建网站?  nodejs redis 发布订阅机制封装实现方法及实例代码  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何用AWS免费套餐快速搭建高效网站?  如何快速生成可下载的建站源码工具?  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  中山网站推广排名,中山信息港登录入口?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  高端企业智能建站程序:SEO优化与响应式模板定制开发  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Android滚轮选择时间控件使用详解  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  详解Android图表 MPAndroidChart折线图  如何在Tomcat中配置并部署网站项目?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  *服务器网站为何频现安全漏洞?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  微信小程序 input输入框控件详解及实例(多种示例)  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel如何实现API资源集合?(Resource Collection教程)  ,在苏州找工作,上哪个网站比较好?  Laravel如何使用Livewire构建动态组件?(入门代码)  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  bootstrap日历插件datetimepicker使用方法  如何快速搭建高效香港服务器网站?  简单实现Android验证码  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  JavaScript如何实现音频处理_Web Audio API如何工作?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  中山网站制作网页,中山新生登记系统登记流程?  高防服务器租用指南:配置选择与快速部署攻略  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  js实现点击每个li节点,都弹出其文本值及修改  如何快速登录WAP自助建站平台?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法