算法入门笔记(三):二分查找(折半查找)

算法入门笔记:二分查找

int find(int a[],int len,int m)                 //len为数组的长度  m为被查找的数
{
    int left = 0, right = len - 1;
    while (left <= right)
    {
        int k = (left+right) / 2;
        if (m == a[k])                  //即 m就为中间值
            return k;
        else if (m > a[k])              //即m在中间到最后这一段里面
            left = k + 1;               //所以就让left从中间的下一个开始 重复二分查找
        else
            right = k - 1;              //即 m在开始到中间这一段里面
    }
    return -1;                          //如没有上述三种情况 则就是没有找到 即没有m元素
}

在这里插入图片描述

发布了10 篇原创文章 · 获赞 0 · 访问量 169

猜你喜欢

转载自blog.csdn.net/qq_40458767/article/details/104750045