本篇文章给大家谈谈高效算法解析:C/C++环境下二分查找方法详解,以及对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
//二分查找
//数组a按升序排列,len为数组长度
//k为要查找的整数
//如果找到,则返回对应的角标,
//如果没有,返回-1
int 搜索(int *a,int len,int k)
{
int lo=0,hi=len - 1;
而(低=高)
{
int m=(lo + hi) 1;
如果(a[m] k)
{
lo=m + 1;
}
否则如果(a[m] k)
{
hi=m - 1;
}
别的
{
返回米;
}
}
返回-1;
}测试:
int a[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
【高效算法解析:C/C++环境下二分查找方法详解】相关文章:
用户评论
这个文章讲的是如何用 C/C++语言用二分法来查找数据
有14位网友表示赞同!
终于找到一篇讲解二分法的文章!我一直在找。
有20位网友表示赞同!
代码写的很清晰易懂,学习起来方便~
有19位网友表示赞同!
以前用的是循环查找法,没想到二分法效率更高啊
有7位网友表示赞同!
这个在面试中经常考到吧?
有9位网友表示赞同!
我打算把这篇文章收藏起来,后续复习的时候再看一遍!
有20位网友表示赞同!
二分法的原理其实很简单,但是C++的实现细节还是需要好好理解一下.
有16位网友表示赞同!
看了文章示例代码,感觉二分法确实比线性查找更快很多
有10位网友表示赞同!
对数据量较大的数据集来说,二分法的优势会更加明显...
有6位网友表示赞同!
想问问作者,这种方法对付乱序的数据怎么样?
有17位网友表示赞同!
学习 C/C++编程,了解算法很重要啊!
有10位网友表示赞同!
这个方法也可以应用在其他语言中吗?
有15位网友表示赞同!
学习计算机科学基础知识的同时,还可以学会一些实用的算法!
有19位网友表示赞同!
感觉二分法比线性查找简洁很多
有12位网友表示赞同!
希望这篇文章能帮助更多想要学习C/C++的人!
有12位网友表示赞同!
文章的讲解很到位,适合初学者阅读学习
有14位网友表示赞同!
收藏了!说不定以后用得到!
有6位网友表示赞同!
我记得以前的课本里也介绍过二分法算法.
有7位网友表示赞同!