一个小算法:二分查找

二分查找:

二分查找还是很重要的,在很多地方都能用到,节省搜寻时间。

要注意二分查找的前提是数组有序。

话不多说直接上代码:

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;//没找到
    }

猜你喜欢

转载自blog.csdn.net/YZcheng_plus/article/details/128782817
今日推荐