复制代码

stl中的二分操作

二分操作:

upper_bound  lower_bound  binary_search

在已有序列中查找 指定数据 binary search

upper_bound   查找一个 >n 的最小地址

       重载的是<n的最小地址

lower_bound 查找一个 >=n 的最小地址

       重载的是<=n的最小地址

 

 
void work1()
{
    int seq1[] = {1, 2, 3, 3, 4, 5}, seq2[] = {9, 8, 7, 7, 6, 5};
    cout<<upper_bound(seq1, seq1+6, 3) - seq1<<endl;
    cout<<lower_bound(seq1, seq1+6, 3) - seq1<<endl;

    cout<<endl;

    cout<<upper_bound(seq2, seq2+6, 7, greater<int>()) - seq2<<endl;
    cout<<lower_bound(seq2, seq2+6, 7, greater<int>()) - seq2<<endl;
}

 

posted @ 2018-03-07 17:51  pg633  阅读(147)  评论(0编辑  收藏  举报