折半查找法又称为二分查找,是在一个有序数组里面找到一个具体的数,方法我在代码里注释到了。

#include

int binary_search(int *arr, int key, int sz)//创建一个函数

{

int left = 0;//定义数组中元素的左下标

int right = sz - 1;//定义数组中元素的右下标

int mid = 0;//定义数组中一个元素的下标

while (left <= right)//判断左下标是否小于等于右下标,如果等于进入循环

{

mid = left + ((right - left) >> 1);//中间元素的下标计算

if (arr[mid] == key)

{

return mid;//如果中间元素等于目标元素,则返回中间元素的下标

}

else if (arr[mid] > key)

{

right = mid - 1;//如果中间元素大于目标元素,右下标变为中间元素的下标减去一

}

else

{

left = mid + 1;//如果小于,则左下标变为中间元素的下标加上一

}

}

return 1;//如果不等于,返回值为1

}

int main()

{

int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//创建一个有序的数组arr

int key = 8;//定义你要找到的目标元素

int sz = sizeof(arr) / sizeof(arr[0]);//求这个数组的长度

int ret = binary_search(arr, key, sz);

if (ret == 1)//如果返回值为1

{

printf("找不到\n");//则输出结果为找不到

}

else

{

printf("%d\n", ret);//不然,则输出目标元素的下标

}

return 0;

}下面为输出的结果

c语言折半查找输出坐标,用c语言编写折半查找法相关推荐

  1. c语言折半查找输出坐标,数据结构(C语言版)——有序表查找(折半查找)(代码版)...

    数据结构(C语言版)--有序表查找(折半查找)(代码版) 数据结构(C语言版)--有序表查找(折半查找)(代码版) #include #include #define ERROR 0 #define ...

  2. c语言迷宫问题输出坐标,C语言数据结构之迷宫求解问题

    现在网上各种对于迷宫的求解,版本多的数不胜数.本人小白一枚,贴上自己对迷宫的求解这个小项目,自己写的.望能帮助一些同样有困难的人,毕竟我当时费解了好一会儿时间呢. 首先,先标明对于迷宫求解这个项目,首 ...

  3. c语言控制台光标的坐标范围,C语言之实现控制台光标随意移动的实例代码

    原理引入windows.h,首先是要获得输入的东西,然后通过判断: 1.方向键:执行上下左右的移动功能 2 .回车键:执行换行的功能. 3.普通键:输入功能. 终点就是要获取到屏幕上的坐标,当按下了方 ...

  4. c语言定义int 输出4386,大学C语言第五章课后习题参考程序

    考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...

  5. c语言编程gps卫星坐标计算公式,C语言计算GPS卫星位置演示教学.doc

    C语言计算GPS卫星位置演示教学.doc C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置.卫星位置的计算是根据卫星电文所提供的轨道参 ...

  6. 易语言服务器调试输出为假,易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常...

    今天在用易语言帮一个客户写程序的时候,发言一个奇怪的问题,就是在用判断.如果真命令比较2个文本到整数后的值时,在调试运行的时候,一切正常,但是编译出来后,运行不正常,不符合逻辑,最终经过调试输出,发现 ...

  7. c语言课时设计猜坐标游戏,c语言小游戏课程设计报告.docx

    c语言小游戏课程设计报告 中国地质大学 本科生课程论文封面 课程名称c语言课程设计 教师姓名陈喆老师 本科生姓名周宜诺 本科生学号XX 本科生专业土地资源管理 所在院系公共管理学院 类别: 日期: 课 ...

  8. c语言怎么控制输出字符长度,C语言基础之格式化输出控制长度

    c语言格式化输出控制长度 今天在实现ls命令的时候,输出的文件名是上下对齐: 1 2 a.c b crawler text 公共的 视频 文档 音乐 1.c 2.c a.out b.c git win ...

  9. c语言逆序输出6A8F,【C语言】将二进制数逆序输出。比如6为000...0110,逆序后为0110....

    //将二进制数逆序输出.比如6为000...0110,逆序后为0110...000#include unsigned int reverse_bit(int num){int i;int bit;un ...

最新文章

  1. html ie浏览器视频无法播放视频,HTML5视频以Chrome格式播放,但不播放IE9
  2. VC++ 2012 单元测试入门
  3. python中range和xrange的异同
  4. python顺时针螺旋顺序
  5. 触摸传感器的电路图符号_光电传感器电路图以及应用和优点
  6. pmp每日三题(2022年2月22日)
  7. Java中性能优化的35种方法汇总
  8. c语言面试题东软,2012东软笔试题
  9. dnn神经网络_【李宏毅机器学习笔记】深度神经网络(DNN)
  10. 《剑指 Offer I》刷题笔记 51 ~ 61 题
  11. iOS autoreleasePool 深入理解
  12. 人工智能专家系统的简单实现
  13. VS2010 SP1 编译QT4.8.0 x64版本
  14. 《薛兆丰的经济学课》课程总结2--东西不够
  15. java char取值范围是_Java中数据类型的取值范围
  16. 计算机视觉论文文献综述怎么找,如何有效在知网寻找属于自己课题的文献综述...
  17. java 模板转 PDF
  18. 微信小程序 input事件绑定
  19. 洛谷是什么?hydro是什么
  20. 【教程】使用MATLAB进行公式推导、解方程组

热门文章

  1. 【Python机器学习】KNN进行水果分类和分类器实战(附源码和数据集)
  2. DNS 攻击在亚太地区呈上升趋势
  3. 四、Eureka注册中心集群配置
  4. 虚拟机上nacos集群配置服务注册不上
  5. matlab除数为0的解决办法
  6. R语言兴起与SAS,SPSS
  7. 程序员如何提高打字速度和准确度
  8. 非常不错的AI聊天互动平台 AI EDU
  9. otter 简单同步使用,上手就是这么随意
  10. 排水管网GIS地理信息系统-排水监测预警