您的位置:首页 > 编程语言 > C语言/C++

BinarySearch function in C++ (urjnasw xkfjjkn@CSDN)

2013-02-21 06:16 405 查看
今天学习一下基本的二叉搜索吧~~大师兄 <a href="http://infolab.tamu.edu/people/zcheng">程致远</a>说了,要是面试当场让写这个写不出来就可以直接出去了~~~

我知道的搜索算法里面最常被想到的就是BinarySearch了,最为最基本的搜索算法,写的时候还是有一些细节需要被注意到,例如计算下标时的“+1”和“-1”。下面附上面试宝典《cracking the coding interview》里面的示例写法,我觉得这是我搜到的版本里面写得最简洁明白的了。

int BinarySearch(int[] a, int x, int low int high)
{
if (low > high) return -1;

int mid = (low + high) / 2;
if (a[mid] < x) {
return BinarySearch(a, x, mid + 1, high);
} else if (a[mid] > x) {
return BinarySearch(a, x, low, mid - 1);
} else {
return mid;
}
}
<a href = "http://blog.csdn.net/urjnasw_xkfjjkn">urjnasw xkfjjkn @ CSDN</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: