二分查找:
二分查找还是很重要的,在很多地方都能用到,节省搜寻时间。
要注意二分查找的前提是数组有序。
话不多说直接上代码:
int chazhao(int x)
{
int n, o[200005];
int left = 0, right = n;//n是数组大小
while (left <= right)
{
int mid = left + (right - left) / 2;//防止数据过大,越界
if (o[mid] < x)
{
left = mid + 1;
}
else if (o[mid] > x)
{
right = mid - 1;
}
else
{
return mid;//返回的是位置
}
}
return -1;//没找到
}