c语言折半查找输出坐标,用c语言编写折半查找法
折半查找法又称为二分查找,是在一个有序数组里面找到一个具体的数,方法我在代码里注释到了。
#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语言编写折半查找法相关推荐
- c语言折半查找输出坐标,数据结构(C语言版)——有序表查找(折半查找)(代码版)...
数据结构(C语言版)--有序表查找(折半查找)(代码版) 数据结构(C语言版)--有序表查找(折半查找)(代码版) #include #include #define ERROR 0 #define ...
- c语言迷宫问题输出坐标,C语言数据结构之迷宫求解问题
现在网上各种对于迷宫的求解,版本多的数不胜数.本人小白一枚,贴上自己对迷宫的求解这个小项目,自己写的.望能帮助一些同样有困难的人,毕竟我当时费解了好一会儿时间呢. 首先,先标明对于迷宫求解这个项目,首 ...
- c语言控制台光标的坐标范围,C语言之实现控制台光标随意移动的实例代码
原理引入windows.h,首先是要获得输入的东西,然后通过判断: 1.方向键:执行上下左右的移动功能 2 .回车键:执行换行的功能. 3.普通键:输入功能. 终点就是要获取到屏幕上的坐标,当按下了方 ...
- c语言定义int 输出4386,大学C语言第五章课后习题参考程序
考试,二级C语言备考 第五章课后习题参考程序 5.1 编写程序,求100-2000之间所有3的倍数之和,当和大于1000时结束. (参考答案:900) #include int main() { in ...
- c语言编程gps卫星坐标计算公式,C语言计算GPS卫星位置演示教学.doc
C语言计算GPS卫星位置演示教学.doc C语言计算GPS卫星位置1 概述在用GPS信号进行导航定位以及制订观测计划时,都必须已知GPS卫星在空间的瞬间位置.卫星位置的计算是根据卫星电文所提供的轨道参 ...
- 易语言服务器调试输出为假,易语言判断、如果真、文本到整数比较时,调试时运行正常,编译后不正常...
今天在用易语言帮一个客户写程序的时候,发言一个奇怪的问题,就是在用判断.如果真命令比较2个文本到整数后的值时,在调试运行的时候,一切正常,但是编译出来后,运行不正常,不符合逻辑,最终经过调试输出,发现 ...
- c语言课时设计猜坐标游戏,c语言小游戏课程设计报告.docx
c语言小游戏课程设计报告 中国地质大学 本科生课程论文封面 课程名称c语言课程设计 教师姓名陈喆老师 本科生姓名周宜诺 本科生学号XX 本科生专业土地资源管理 所在院系公共管理学院 类别: 日期: 课 ...
- c语言怎么控制输出字符长度,C语言基础之格式化输出控制长度
c语言格式化输出控制长度 今天在实现ls命令的时候,输出的文件名是上下对齐: 1 2 a.c b crawler text 公共的 视频 文档 音乐 1.c 2.c a.out b.c git win ...
- c语言逆序输出6A8F,【C语言】将二进制数逆序输出。比如6为000...0110,逆序后为0110....
//将二进制数逆序输出.比如6为000...0110,逆序后为0110...000#include unsigned int reverse_bit(int num){int i;int bit;un ...
最新文章
- html ie浏览器视频无法播放视频,HTML5视频以Chrome格式播放,但不播放IE9
- VC++ 2012 单元测试入门
- python中range和xrange的异同
- python顺时针螺旋顺序
- 触摸传感器的电路图符号_光电传感器电路图以及应用和优点
- pmp每日三题(2022年2月22日)
- Java中性能优化的35种方法汇总
- c语言面试题东软,2012东软笔试题
- dnn神经网络_【李宏毅机器学习笔记】深度神经网络(DNN)
- 《剑指 Offer I》刷题笔记 51 ~ 61 题
- iOS autoreleasePool 深入理解
- 人工智能专家系统的简单实现
- VS2010 SP1 编译QT4.8.0 x64版本
- 《薛兆丰的经济学课》课程总结2--东西不够
- java char取值范围是_Java中数据类型的取值范围
- 计算机视觉论文文献综述怎么找,如何有效在知网寻找属于自己课题的文献综述...
- java 模板转 PDF
- 微信小程序 input事件绑定
- 洛谷是什么?hydro是什么
- 【教程】使用MATLAB进行公式推导、解方程组