您的位置:首页 > 其它

二分查找

2016-12-06 14:23 190 查看
#include <iostream>

void find_number(int *pInt, int nfind, int nCount)

{

    int nleft = 0, nright = nCount;

    while (nleft <= nright)

    {

        int nMid = (nleft + nright) / 2;

        if (pInt[nMid] < nfind)

        {

            nleft = nMid + 1;

        }

        else if (pInt[nMid] > nfind)

        {

            nright = nMid - 1;

        }

        else if (pInt[nMid] == nfind)

        {

            std::cout <<"array of"<< nMid << ":" << pInt[nMid] << std::endl;

            break;

        }

    }

    std::cout << "done" << std::endl;

}

int main(int argc, char **argv)

{

    int narray[9] = { 1, 2, 3, 4, 5, 6, 9, 56, 78 };

    find_number(narray, 56, 9);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: