c++ 二分法查找(binary_search)

 

#include <iostream>     // cout
#include <algorithm>    // binary_search, sort
#include <vector>       // vector
using namespace std;
bool myfunction (int i,int j) { return (i<j); }

int main () {
    int myints[] = {1,2,3,4,5,4,3,2,1};
    vector<int> v(myints,myints+9);                         // 1 2 3 4 5 4 3 2 1
    
    // using default comparison:
    sort (v.begin(), v.end());
    
    cout << "looking for a 3... ";
    if (binary_search (v.begin(), v.end(), 3))
        cout << "found!\n"; else cout << "not found.\n";
    
    // using myfunction as comp:
    sort (v.begin(), v.end(), myfunction);
    
    
    cout << "looking for a 6... ";
    if (binary_search (v.begin(), v.end(), 6, myfunction))
        cout << "found!\n"; else cout << "not found.\n";
    
    return 0;
}

 

posted @ 2018-10-19 10:54  anobscureretreat  阅读(1017)  评论(0编辑  收藏  举报