博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分搜索
阅读量:5023 次
发布时间:2019-06-12

本文共 880 字,大约阅读时间需要 2 分钟。

#include 
#include
using namespace std;//查找/*实现二分搜索输入一组有序的数组和一个需要查找的数值输出该数值的位置,若没有,则返回-1*///由于C++数组没有直接获得数组长度的函数,因此使用sizeof(array)/sizeof(array[0]),可以用模板定义template
int GetArrayLen(T& array){ return (sizeof(array)/sizeof(array[0]));}//测试int binary_search_1(int a[],int left,int right,int input);int binary_search_2(int a[],int n,int input);int main(int argc, char const *argv[]){ int a[]={1,2,3,4,5,6,7,8,9,10,11}; int n=GetArrayLen(a); int result=binary_search_1(a,0,n,10); // cout<
<
=right)return -1;//递归基础 //递归主体 int mid=(left+right)/2; if (a[mid]==input)return mid;//mid是下标,从0算起 if (a[mid]
input)right=mid-1; else left=mid+1; if (left>=right)return -1; mid=(left+right)/2; } return mid;}

转载于:https://www.cnblogs.com/jiangge3/articles/5774182.html

你可能感兴趣的文章
Tomcat
查看>>
./是当前目录 ../是当前的上一级目录。上上级就是../../一般绝对路径时候常用...
查看>>
linux支持FTP和SFTP服务【1】
查看>>
树的递归与非递归遍历方法
查看>>
每天一个Linux命令(6):rmdir命令
查看>>
oracle连接的三个配置文件(转)
查看>>
Vim配置文件(Vimrc)
查看>>
RecyclerView 局部刷新(获取viewHolder 去刷新)
查看>>
PHP表单(get,post)提交方式
查看>>
使用vbs或者bat脚本修改IE浏览器安全级别和选项
查看>>
Silverlight入门
查看>>
Silverlight动态调用WEBSERVICE,WCF方法
查看>>
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>