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

二分查找的理解

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int binary_search(int arr[], int k, int sz)
{int left = 0;int right = sz - 1;//这个是下标,减一是因为在0开始的,怕越界(访问无效)while (left <= right){int  mid = left + (right - left) / 2;//怕溢出导致错误结果if (arr[mid] < k){left = mid + 1;//k在右端}else if (arr[mid] > k){right = mid - 1;//k在左端}elsereturn mid;}return -1;
}int main()
{int arr[] = { 1, 4, 6, 7, 8, 9, 33, 44, 77 };int sz = sizeof(arr) / sizeof(arr[0]);int ret = binary_search(arr, 144, sz);if (ret == -1){printf("找不到\n");}else{printf("找到了,下标是:%d\n", ret);}return 0;
}

在数组中形参不会临时拷贝实参,而是会找到实参中的首地址,也就是说形参的int arr[ ] 实际是个指针,

新手,要是错了请大牛提出来,好提升提升

http://www.xdnf.cn/news/395785.html

相关文章:

  • Object类
  • wordpress自学笔记 第三节 独立站产品和类目的三种展示方式
  • RabbitMQ的工作队列模式和路由模式有什么区别?
  • 2. cef 及 cefcapi
  • 全国青少年信息素养大赛 Python编程挑战赛初赛 内部集训模拟试卷七及详细答案解析
  • Qt开发经验 --- 避坑指南(13)
  • 梦熊联盟:202505基础语法-题解
  • 沐言智语开源Muyan-TTS模型,词错率、语音质量评分都处于开源模型的一线水平,推理速度相当快~
  • Go语言运算符详解
  • No module named ‘xxx’报错原因及解决方式
  • DedeCMS-Develop-5.8.1.13-referer命令注入研究分析 CVE-2024-0002
  • css背景相关
  • 【大模型】解决最新的Dify1.3.1版本 无法基于Ollama成功添加模型
  • 进程间关系与守护进程
  • Quantum convolutional nerual network
  • 责任链模式
  • 苍穹外卖(数据统计–Excel报表)
  • C语言常见的文件操作函数总结
  • 互联网大厂Java求职面试:电商商品推荐系统中的AI技术应用
  • 超标量处理器设计4-分支预测
  • TypeScript 装饰器高级用法详解
  • Kubernetes排错(十四):Pod状态异常排查手册
  • 深入理解 TypeScript 中 unknown 类型:安全性与使用指南
  • 深度学习:系统性学习策略(二)
  • OBS studio 减少音频中的杂音(噪音)
  • LLM初识
  • 【CTF】Linux Shell RCE绕过(bypass)技术总结
  • 【Tools】VScode远程调试linux服务器(打断点可视化界面方式)
  • 【文本数据找重复记录】2021-11-23
  • C++编程中,什么是野指针?