博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习算法(1)——2分查找法
阅读量:4067 次
发布时间:2019-05-25

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

从今天起,开始阅读《算法,第四版》

今天学习的是二分查找法,发现一个问题,就是当数组作为参数的时候,sizeof已经没有办法算出数组的长度了,因为此时数组名已经退化成指针了,所以只好新增一个参数,就是数组长度。

代码如下:

#include 
using namespace std;int Search(int data[], int length, int key){ int lo = 0; int hi = length - 1; while (lo <= hi) { int mid = lo + (hi - lo)/2; if (key < data[mid]) { hi = mid - 1; } else if (key > data[mid]) { lo = mid + 1; } else { return mid; } } return -1;}int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); int data[10] = {0}; for (int i=0; i<10; ++i) { data[i] = i; } cout << Search(data, 10, 0); return a.exec();}

-------------

转载地址:http://dkoji.baihongyu.com/

你可能感兴趣的文章
JS牛客网编译环境的使用
查看>>
9、VUE面经
查看>>
关于进制转换的具体实现代码
查看>>
Golang 数据可视化利器 go-echarts ,实际使用
查看>>
mysql 跨机器查询,使用dblink
查看>>
mysql5.6.34 升级到mysql5.7.32
查看>>
dba 常用查询
查看>>
Oracle 异机恢复
查看>>
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>