二分搜索技术是运用分治策略的典型例子。对于已排好序的n个元素,现在要在这n个元素中找出一特定元素x。
template <class Type>
int BinarySearch(Type a[],const Type&x,int n)
{
int left=0;int right=n-1;
while(keft<=right)
{
int middle=(left+right)/2;
if(x==a[middle]) return middle;
if(x>a[middle]) left=middle+1;
else right=middle-1;
}
return -1;//未找到
}