二分排序

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
void main()
{
    vector<unsigned> scores(0);
    for (decltype(scores.size()) ix = 0; ix < scores.size(); ++ix) {
        scores.push_back(ix);
    }
    sort(scores.begin(), scores.end());

    auto beg = scores.begin(), end = scores.end();
    auto mid = scores.begin() + scores.size() / 2;
    int a = 4;
    while (mid != end && *mid != a)
    {
        if (a < *mid)
            end = mid;
        else
            beg = mid + 1;
        mid = beg + (end - beg) / 2;
    }

    system("pause");
}

 

posted @ 2019-02-02 00:20  Lumi_Imp  阅读(1699)  评论(0编辑  收藏  举报