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

C语言:二分查找 - 函数实现(作业考试学习必备系列002)

题目内容:
写一个二分查找函数
功能:在一个升序数组中查找指定的数值,找到了就返回下标,找不到就返回 - 1.
int bin_search(int arr[], int left, int right, int key)
arr 是查找的数组
left 数组的左下标
right 数组的右下标
key 要查找的数字

我在这个项目里写了2种函数,一种是暴力遍历查找,另一个则是二分查找,可以通过选择注释进行切换。代码如下,已有注释。

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h> int chazhaooo(int arr[], int key,int a) //二分查找 { int left = 0; int right = a; int b = 0; while (left <= right) { b = (left + right) / 2; if (arr[b] == key) { return b; } else if (arr[b] < key) { left = b + 1; } else { right = b - 1; } } return -1; arr[(left + right) / 2]; } int chazhao(int arr[], int key, int a)//暴力遍历查找 { int b = 0; for (int b = 0;b < a;b++) { if (arr[b] == key) { return b; } } return -1; } int main() { int arr[10] = {1,2,3,4,5,6,7,8,9,10}; int key = 0; int jieguo = 0; int a = sizeof(arr) / sizeof(int)-1; scanf("%d",&key); //printf("%d",key); //jieguo=chazhao(arr, key, a);//暴力遍历查找 jieguo = chazhaooo(arr, key, a);//二分查找 printf("%d", jieguo); return 0; }
http://www.jsqmd.com/news/1178704/

相关文章:

  • 2026 年满洲里优秀的造景假山订制厂家哪家好,别把石头堆成死物,让水活起来的那一刻,才叫艺术。 - 行业鉴选官
  • 热江高爆版2026年7月官方下载直达入口
  • QMK Toolbox实用指南:三步完成机械键盘固件刷写与个性化配置
  • C语言调用Python实战:从基础API到复杂参数传递
  • 北京爱彼回收价格查询和靠谱平台实测排行(2026年7月最新数据) - 爱彼中国官方服务中心
  • C++构建高性能电商实时用户行为分析平台:架构设计与工程实践
  • AI食光助手:面向厨房场景的眼镜智能体
  • 费马大定理的现代证明:从弗雷曲线到模形式的桥梁
  • J-Link vs ST-Link vs DAP-Link:3款主流调试器在RT-Thread下的性能实测
  • VC 6.0 Win11 兼容性修复:3步解决闪退与DPI模糊(附MSDEV重命名)
  • 华为 AP6050DN V200R007C20SPCa00 配置实战:从 FIT 到 FAT 模式切换的 3 个关键步骤
  • LVGL 9.2.2 模拟器:Visual Studio 2022 与 Code::Blocks 3方案性能与易用性对比
  • 电影《功夫女足》下载/迅雷BT磁力下载[HD-1280P/5.26GB/MP4中字]百度高清云资源分享
  • 【开源】跨语言·跨平台·跨数据库(2) —— 用宝轻量框架设计必读
  • Word 多级列表与样式:5个关键设置避免章节编号与公式引用错乱
  • 妆前打底精华液推荐:蜜妙诗服帖持妆 - MXyuyu
  • Windows窗口置顶神器:AlwaysOnTop终极效率提升指南
  • ar 工具及 ar 库格式研究
  • 想搭私有 Wiki 和知识库?Tiki Wiki Docker Compose 部署实测
  • 2026最新泰州本地漏水检测公司本地精选权威推荐:正规防水补漏公司优选口碑TOP5:卫生间/厨房/阳台/飘窗/地下室渗漏水维修师傅上门 - 即刻修防水
  • StreamCap:如何用开源工具解决40+平台直播录制难题?
  • MP2672A双节锂电池充电管理IC设计与应用
  • numpy.std默认ddof=0的陷阱:样本标准差误用导致模型偏差
  • ANSYS Fluent三维流体仿真:从网格划分到激光熔池实战指南
  • 深入解析C++循环结构:while与do...while的本质差异与应用场景
  • Altium Designer 23 最小系统 PCB 设计:从原理图到布局的 5 个关键步骤
  • 基于MCP3202与PIC18F4685的锂电池电压平衡系统设计
  • YimMenu完整指南:免费GTA5增强工具快速上手教程
  • VSCode 1.127.0 命令行启动与工作区配置:3种高效开发环境搭建实战
  • AD74412R与PIC18LF24K50在工业控制中的高效信号采集方案