感觉写程序最重要的有两点:一、理解算法本身的实现原理和过程;二、理解如何用程序语言将算法过程表达出来。

#include <stdio.h>#define N 10int a[N] = {0, 1, 2, 3, 3, 3, 6, 7, 8, 9};int binary_search(int a[], int l, int r, int x)
{int i;if(l > r)return -1;i = (l + r) / 2;if(a[i] == x)return i;else if(a[i] < x)return binary_search(a, i+1, r, x);else // a[i] > xreturn binary_search(a, l, i-1, x);
}
int main()
{int x, i;x = 6;i = binary_search(a, 0, N-1, x);if(i >= 0)printf("%d is found at index %d\n",x, i);elseprintf("%d is not found\n", x);return 0;
}

binary_search相关推荐

  1. binary_search函数

    可以快速的查找容器中是否含有某个元素 例子: vector<int>ve; if(binary_search(ve.begin(),ve.end(),temp)) {cout<< ...

  2. c++ 二分查找的函数 lower_bound upper_bound binary_search

    简介 C++ STL 中二分查找函数主要有这三种: lower_bound() upper_bound() binary_search() 这三个函数都运用于有序区间. 用法 1. lower_bou ...

  3. boost::binary_search相关的测试程序

    boost::binary_search相关的测试程序 实现功能 C++实现代码 实现功能 boost::binary_search相关的测试程序 C++实现代码 #include <boost ...

  4. STL 之search,search_n,sort,binary_search

    作用:用来查找元素和元素排序 声明: #include <algorithm> template <class forwardItr1, class forwardItr2> ...

  5. STL源码剖析 lower_bound | upper_bound | binary_search

    lower_bound 二分查找的一种版本,试图在已经排序的区间内查找元素value,如果区间内存在和value数值相等的元素,便返回一个迭代器,指向其中的第一个元素. 如果没有数值相等的元素,会返回 ...

  6. C ++中的std :: binary_search()

    binary_search()作为STL函数 (binary_search() as a STL function) Syntax: 句法: bool binary_search ( ForwardI ...

  7. binary_search()、upper_bound()、lower_bound() 二分查找

    vector<int> a = {0,1,2,2,3,4}; 使用前提是a已经是升序排列 cout << binary_search(a.begin(), a.end(), 3 ...

  8. 二分查找(binary_search)

    二分查找,列表按从小到大的顺序排放,每次寻找中间位置元素的大小进行比较, 时间复杂度:log(n) def binary_search(li,val):left =0right = len(li) - ...

  9. c语言binsearch函数头文件,C++ binary_search()函数详解

    binary_search()函数定义在头文件中,用于查找指定区域内是否包含某个目标元素. 该函数有 2 种语法格式,分别为: //查找 [first, last) 区域内是否包含 val bool ...

  10. Binary_Search(二叉树搜索---------二分)

    int Binary_Search(int n) {int left = 0 ;int right = L[n-1] - L[0] ;while(right >= left ){int mid ...

最新文章

  1. oracle 如何预估将要创建的索引的大小
  2. webstorm代码行数统计_10万行代码10万年薪,利用python查看自己写了多少代码
  3. Linu解决oracle连接不稳定
  4. jzoj4279-[NOIP2015模拟10.29B组]树上路径【树形dp】
  5. hibernate session 新增、删除,修改、查询样例
  6. 星露谷物语json_《星露谷物语》1.5版本更新细节公开 已上线PC
  7. 首款“致敬”iPhone 12的手机来了:竟是华为......
  8. [POJ 3984] 迷宫问题(BFS最短路径的记录和打印问题)
  9. 【UOJ#310】【UNR#2】黎明前的巧克力(FWT)
  10. Android学习笔记---常用技巧(图片的旋转)
  11. modbus tcp调试助手_wemos D1 arduino项目实战1-TCP协议连接Tlink平台①
  12. MySQL中用生日计算年龄
  13. 武汉市最好的计算机专科学校,武汉中专排名前十位_武汉最好的3加2学校_武汉中专技校有哪些_计算机平面设计_365导学网...
  14. 谷粒商城-08-p139-p172
  15. 《大规模元搜索引擎技(1)》一第1章 绪言
  16. centos8使用技巧与阿贝云服务器
  17. 工业超高频读写器|读取器CK-UR12-E02使用POE交换机和博途软件如何与西门子PLC配置解决方案
  18. tomcat网站根目录在哪里_不会代码怎么自己搭建一个小说网站
  19. 什么是域名(网站)劫持
  20. python列表乘一个数字_python的列表乘以数字

热门文章

  1. k8s跨namespace访问服务
  2. 百济神州的商业化故事讲到哪一章?
  3. 7-1 重要的话说三遍 (5 分)
  4. 【Linux】指令与权限
  5. 不想花钱学Python,好资源该怎么找?这里有你看不完的东西
  6. 文科计算机有哪些专业,计算机有哪些专业
  7. 最便宜的粤语语音机器人
  8. Office Tool Plus(安装visio)
  9. Latex图表中英文双标注之多个子图
  10. java合并获得数据库_[原]考试系统——数据库之合并动态生成表