递归代码如下:

include <stdio.h>int BSearch(int d[], int target, int low, int high)
{//第二个参数是要找的数,返回下标if (low <= high){int m = (low + high) / 2;if (target < d[m])return BSearch(d, target, low, m - 1);else if (target>d[m])return BSearch(d, target, m + 1, high);elsereturn m;}return -1;
}void main()
{int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 2000, 5000, 9999 };int c = BSearch(a, 2000, 0, 13);printf_s("c:%d\n", c);getchar();
}

迭代代码如下:

#include <stdio.h>int BSearch(int d[], int target, int low, int high)
{//第二个参数是要找的数,返回下标int m;while (low <= high){m = (low + high) / 2;if (target < d[m])high = m - 1;else if (target>d[m])low = m + 1;elsereturn m;}return -1;
}void main()
{int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 100, 2000, 5000, 9999 };int c = BSearch(a, 2000, 0, 13);printf_s("c:%d\n", c);getchar();
}

代码思路很简单,在此不再说明!!

二分法c语言代码(递归、迭代)相关推荐

  1. 非线性方程求根方法总结附代码(从二分法、试位法到牛顿迭代、二次插值等)

    非线性方程求根方法总结&附代码(从二分法.试位法到牛顿迭代.二次插值等) 1 划界法 1.1 二分法 1.1 试位法 1.3 改进试位的法思路 1.4 Ridders方法 1.5 划界法的问题 ...

  2. 语言代码编程大赛简讯_精品干货:C语言的高效编程与代码优化

    在本篇文章中,我收集了很多经验和方法.应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码. 简介 在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级 ...

  3. C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈

    C语言用递归求斐波那契数,让你发现递归的缺陷和效率瓶颈 分享到: QQ空间 新浪微博 腾讯微博 豆瓣 人人网 递归是一种强有力的技巧,但和其他技巧一样,它也可能被误用. 一般需要递归解决的问题有两个特 ...

  4. 数据结构与算法|马踏棋盘算法(小甲鱼)C语言代码的算法分析

    马踏棋盘算法(骑士周游问题)的算法分析 C语言代码部分来自小甲鱼的<数据结构与算法> 文章目录 马踏棋盘算法(骑士周游问题)的算法分析 一.C语言代码实现 二.代码分析与算法思路 题目要求 ...

  5. c语言程序运行内存图解,从执行速度和内存使用等方面来优化C语言代码

    在本篇文章中,我收集了很多经验和方法.应用这些经验和方法,可以帮助我们从执行速度和内存使用等方面来优化C语言代码. 简介 在最近的一个项目中,我们需要开发一个运行在移动设备上但不保证图像高质量的轻量级 ...

  6. 超详细八大排序+基数排序(图文并茂+动图演示+C语言代码演示)

    超详细八大排序+基数排序(图文并茂+动图演示+C语言代码演示) 插入排序-直接插入排序 插入排序-希尔排序 选择排序-直接选择排序 选择排序-堆排序 交换排序-冒泡排序 交换排序-快速排序-三种方法( ...

  7. C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质...

    C语言中递归什么时候能够省略return引发的思考:通过内联汇编解读C语言函数return的本质 事情的经过是这种,博主在用C写一个简单的业务时使用递归,因为粗心而忘了写return.结果发现返回的结 ...

  8. [Leedcode][JAVA][第94/144/145题][前中后序遍历][递归][迭代][二叉树]

    [问题描述][] 前序遍历 先输出当前结点的数据,再依次遍历输出左结点和右结点 中序遍历 先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点 后续遍历 先遍历输出左结点,再遍历输出右结点,最后输 ...

  9. 已知函数func的C语言代码框架,第三章习题-ddg..doc

    第三章习题-ddg. 习 题 1. 给出以下概念的解释说明. 机器语言程序机器指令汇编语言 汇编指令汇编语言程序汇编助记符 汇编程序反汇编程序机器级程序 通用寄存器定点通用寄存器栈指针寄存器 指令指针 ...

最新文章

  1. 【Vegas原创】outlook连接exchange需要密码的解决方法
  2. 机器学习中qa测试_机器学习自动化单元测试平台
  3. WAV文件中使用有符合整形数
  4. JAVA实现用两个栈来实现一个队列,完成队列的Push和Pop操作(《剑指offer》)
  5. 每日英语:Relationship Repair: 10 Tips for Thinking Like a Therapist
  6. zenmap nmap输出无显示_液晶显示器高压板坏的现象及维修思路 。
  7. codeforces F.Fibonacci String Subsequences
  8. qt中设置QTabWidget,QGroupBox,QScrollArea的样式
  9. ubuntu中安装mongodb注意事项
  10. Bean的拷贝之BeanUtils
  11. eclipse默认项目部署路径(.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps) 改为自己的tomcat真实路径方法
  12. mysql gman do_使用MySQL UDFs来调用gearman分布式任务分发系统
  13. 2017年云计算的六大趋势预测
  14. 如何在windows下把硬盘格式化成EXT3格式?
  15. 【Java】Servlet完全自学手册
  16. 顽固文件文件夹删除工具
  17. r语言和python语法对比_R语言和Python区别对比,你会选择哪一个?
  18. 在Gilt将微服务部署到AWS:ION-Roller简介
  19. 浙江移动2018暑期实习生经历
  20. Python学习打卡第一周

热门文章

  1. C语言orC++,最大的区别?
  2. TurboIM专业集成即时通讯获新宠
  3. 飞鸽传书每写一行代码都会有新的成就
  4. 3个月的SHELLCODE研究成果-一个最简单的Shellcode
  5. 编写高性能 Web 应用程序的10个技巧
  6. 什么90%的人,自学python都不能学会,原来问题出在这,赶紧看看!
  7. 我的 2020 年个人总结
  8. 技术做不下去就转管理?没那么容易
  9. mfc mysql操作_MFC的数据库操作
  10. a标签里面设置onclick_HTML学习笔记:各种常用标签