1. 程式人生 > >stl中的二分查找

stl中的二分查找

sin search c++ 指向 元素 font sea lower 查找

binary_search

使用方式 binary_search(區間起始,區間結束後一個,要查找的元素。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[3]={1,2,3};
    cout<<binary_search(a+0,a+3,2)<<endl;//查找區間內是否有2元素,有返回1,沒有返回0
    cout<<binary_search(a+0,a+3,5)<<endl;
    return 0;
}

lower_bound和upper_bound

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[3]={1,3,4};
    cout<<*lower_bound(a+0,a+3,3)<<endl;//返回一個iterator指向第一個大於等於目標的元素 
    cout<<*upper_bound(a+0,a+3,2)<<endl;//返回一個iterator指向指定元素的後一個元素,如果沒有,
    //返回第一個大於目標的元素的指針 
    return 0;
}

stl中的二分查找