binary_search
感觉写程序最重要的有两点:一、理解算法本身的实现原理和过程;二、理解如何用程序语言将算法过程表达出来。
#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相关推荐
- binary_search函数
可以快速的查找容器中是否含有某个元素 例子: vector<int>ve; if(binary_search(ve.begin(),ve.end(),temp)) {cout<< ...
- c++ 二分查找的函数 lower_bound upper_bound binary_search
简介 C++ STL 中二分查找函数主要有这三种: lower_bound() upper_bound() binary_search() 这三个函数都运用于有序区间. 用法 1. lower_bou ...
- boost::binary_search相关的测试程序
boost::binary_search相关的测试程序 实现功能 C++实现代码 实现功能 boost::binary_search相关的测试程序 C++实现代码 #include <boost ...
- STL 之search,search_n,sort,binary_search
作用:用来查找元素和元素排序 声明: #include <algorithm> template <class forwardItr1, class forwardItr2> ...
- STL源码剖析 lower_bound | upper_bound | binary_search
lower_bound 二分查找的一种版本,试图在已经排序的区间内查找元素value,如果区间内存在和value数值相等的元素,便返回一个迭代器,指向其中的第一个元素. 如果没有数值相等的元素,会返回 ...
- C ++中的std :: binary_search()
binary_search()作为STL函数 (binary_search() as a STL function) Syntax: 句法: bool binary_search ( ForwardI ...
- binary_search()、upper_bound()、lower_bound() 二分查找
vector<int> a = {0,1,2,2,3,4}; 使用前提是a已经是升序排列 cout << binary_search(a.begin(), a.end(), 3 ...
- 二分查找(binary_search)
二分查找,列表按从小到大的顺序排放,每次寻找中间位置元素的大小进行比较, 时间复杂度:log(n) def binary_search(li,val):left =0right = len(li) - ...
- c语言binsearch函数头文件,C++ binary_search()函数详解
binary_search()函数定义在头文件中,用于查找指定区域内是否包含某个目标元素. 该函数有 2 种语法格式,分别为: //查找 [first, last) 区域内是否包含 val bool ...
- Binary_Search(二叉树搜索---------二分)
int Binary_Search(int n) {int left = 0 ;int right = L[n-1] - L[0] ;while(right >= left ){int mid ...
最新文章
- oracle 如何预估将要创建的索引的大小
- webstorm代码行数统计_10万行代码10万年薪,利用python查看自己写了多少代码
- Linu解决oracle连接不稳定
- jzoj4279-[NOIP2015模拟10.29B组]树上路径【树形dp】
- hibernate session 新增、删除,修改、查询样例
- 星露谷物语json_《星露谷物语》1.5版本更新细节公开 已上线PC
- 首款“致敬”iPhone 12的手机来了:竟是华为......
- [POJ 3984] 迷宫问题(BFS最短路径的记录和打印问题)
- 【UOJ#310】【UNR#2】黎明前的巧克力(FWT)
- Android学习笔记---常用技巧(图片的旋转)
- modbus tcp调试助手_wemos D1 arduino项目实战1-TCP协议连接Tlink平台①
- MySQL中用生日计算年龄
- 武汉市最好的计算机专科学校,武汉中专排名前十位_武汉最好的3加2学校_武汉中专技校有哪些_计算机平面设计_365导学网...
- 谷粒商城-08-p139-p172
- 《大规模元搜索引擎技(1)》一第1章 绪言
- centos8使用技巧与阿贝云服务器
- 工业超高频读写器|读取器CK-UR12-E02使用POE交换机和博途软件如何与西门子PLC配置解决方案
- tomcat网站根目录在哪里_不会代码怎么自己搭建一个小说网站
- 什么是域名(网站)劫持
- python列表乘一个数字_python的列表乘以数字