青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

獨立博客: 哲學與程序

哲學與程序

STL之Binary search

    STL中對于有序序列(vector,list等)提供了相當相當強大的二分搜索Binary search算法。對于可以隨機訪問容器(如vector等),binary search負載度為對數級別(LogN),對于非隨機訪問容器(如list),則算法復雜度為線性。現在簡要介紹一下幾種常用的binary search算法:

ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T& value)
ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T& value, Compare comp)
//查找最遠的一個iterator i, 使得[first,i)里面的任意一個iterator j,有 *j < value or comp(*j,value)==true.

ForwardIterator upper_bound (ForwardIterator first,ForwardIterator last, const T& value)
ForwardIterator upper_bound (ForwardIterator first,ForwardIterator last, const T& value, Compare comp)
//查找最遠的一個iterator i, 使得[first,i)里面的任意一個iterator j,有 !(*j < value) or comp(*j,value)==false.

pair equal_range(ForwardIterator first, ForwardIterator last, const T& value)
pair equal_range(ForwardIterator first, ForwardIterator last, const T& value, Compare comp)
//查找最大的subrange[i,j),使得任意一個iterator in [i,j)滿足!(*k<value) && !(value<*k) or comp(*k,value)==false && comp(value,*k)==false.

bool binary_search (ForwardIterator first, ForwardIterator last, const T& value)
bool binary_search (ForwardIterator first, ForwardIterator last, const T& value, Compare comp)
// 查找是否在[first,last)中存在iterator i,滿足 !(*i<value) && !(value<*i) or comp(*i,value)==false && comp(value,*i)==false
// 存在則返回true,否則返回false. 

#include<algorithm>
#include
<iostream>
#include
<vector>
#include
<iterator>
using namespace std;
int main()
{
    vector
<int>v;
    vector
<int>::iterator itr;
    pair
< vector<int>::iterator, vector<int>::iterator >vecpair;
    
    
for(int i = 1; i <= 20; i++){
        v.push_back(i
%6);
    }
    sort(v.begin(),v.end());
    cout 
<< "array: " << endl << "    ";
    copy(v.begin(),v.end(),ostream_iterator
<int>(cout," "));
    cout 
<< endl;
    
    
//lower_bound
    cout << "lower_bound function, value = 3:" << endl; 
    itr 
= lower_bound(v.begin(),v.end(),3);
    cout 
<< "    [first, itr) = ";
    copy(v.begin(),itr,ostream_iterator
<int>(cout," "));
    cout 
<< endl;
    cout 
<< "    [itr, last) = ";
    copy(itr,v.end(),ostream_iterator
<int>(cout," "));
    cout 
<< endl << endl;
    
    
// upper_bound
    cout << "upper_bound function, value = 3:" << endl; 
    itr 
= upper_bound(v.begin(),v.end(),3);
    cout 
<< "    [first, itr) = ";
    copy(v.begin(),itr,ostream_iterator
<int>(cout," "));
    cout 
<< endl;
    cout 
<< "    [itr, last) = ";
    copy(itr,v.end(),ostream_iterator
<int>(cout," "));
    cout 
<< endl << endl;
    
    
// equal_range
    cout << "equal_range function, value = 3:" << endl; 
    vecpair 
= equal_range(v.begin(),v.end(),3);
    
    cout 
<< "    [vecpair->first, vecpair->second) = ";
    copy(vecpair.first, vecpair.second, ostream_iterator
<int>(cout," "));
    cout 
<< endl << endl;
    
    
//binary_search, value = 3
    cout << "binary_search function, value = 3:" << endl;
    cout 
<< "3 is " << (binary_search(v.begin(),v.end(),3? "":"not "<< "in array." << endl;
    cout 
<< endl;
    
    
//binary_search, value = 6
    cout << "binary_search function, value = 6:" << endl;
    cout 
<< "6 is " << (binary_search(v.begin(),v.end(),6? "":"not "<< "in array." << endl;
    cout 
<< endl;
    
    
return 0;    
}
 

array:
    
0 0 0 1 1 1 1 2 2 2 2 3 3 3 4 4 4 5 5 5
lower_bound function, value 
= 3:
    [first, itr) 
= 0 0 0 1 1 1 1 2 2 2 2
    [itr, last) 
= 3 3 3 4 4 4 5 5 5

upper_bound function, value 
= 3:
    [first, itr) 
= 0 0 0 1 1 1 1 2 2 2 2 3 3 3
    [itr, last) 
= 4 4 4 5 5 5

equal_range function, value 
= 3:
    [vecpair
->first, vecpair->second) = 3 3 3

binary_search function, value 
= 3:
3 is in array.

binary_search function, value 
= 6:
6 is not in array.


posted on 2011-01-16 22:40 哲學與程序 閱讀(6659) 評論(0)  編輯 收藏 引用 所屬分類: AlgorithmC & C++C++ STL

導航

公告

歡迎訪問 http://zhexue.sinaapp.com

常用鏈接

隨筆分類(37)

隨筆檔案(41)

Algorithm

最新隨筆

搜索

最新評論

獨立博客: 哲學與程序
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久欧美一区二区| 美脚丝袜一区二区三区在线观看 | 国产午夜精品理论片a级大结局 | 国产精品久久久久久久久久免费看| 欧美色区777第一页| 欧美日韩在线免费| 国产一二三精品| 夜夜精品视频一区二区| 亚洲综合久久久久| 蜜臀av在线播放一区二区三区| 亚洲成色999久久网站| 韩国成人精品a∨在线观看| 亚洲高清视频在线观看| 亚洲欧美国产精品va在线观看| 久久综合99re88久久爱| 一本一本a久久| 久久久九九九九| 国产精品爱久久久久久久| 亚洲国产精品视频一区| 亚洲高清在线精品| 亚洲欧美视频一区| 欧美日本网站| 亚洲国产高清一区二区三区| 亚洲国产精品悠悠久久琪琪| 久久久91精品| 一区二区三区欧美在线观看| 另类综合日韩欧美亚洲| 亚洲欧美www| 欧美日韩一区国产| 久久综合色影院| 欧美激情综合在线| 最近看过的日韩成人| 久久青青草综合| 欧美日韩亚洲一区二| 久久一区二区三区av| 欧美亚洲成人精品| 欧美福利视频在线观看| 亚洲欧美制服另类日韩| 亚洲高清自拍| 亚洲自拍偷拍福利| 一本在线高清不卡dvd| 欧美一区1区三区3区公司| 国产精品最新自拍| 久久国产精品99国产| 亚洲综合精品自拍| 99天天综合性| 免费av成人在线| 久久久亚洲国产天美传媒修理工 | 国产精品一区二区黑丝| 亚洲人成人一区二区在线观看| 久久蜜桃精品| 一色屋精品亚洲香蕉网站| 久久久无码精品亚洲日韩按摩| 欧美日韩国产欧| 亚洲欧美视频在线观看视频| 亚洲伊人伊色伊影伊综合网| 国产精品视频一区二区高潮| 欧美专区18| 国产精品国产三级国产a| 欧美在线高清视频| 久久麻豆一区二区| 在线视频日本亚洲性| 美女脱光内衣内裤视频久久影院 | 久久精品首页| 久久精品99国产精品| 欧美一区二区三区免费在线看| 亚洲欧美日韩高清| 国产精品vvv| 一本久道久久综合狠狠爱| 国产精品视频久久久| 亚洲私人影院在线观看| 韩日精品视频| 久久久久久久久久久久久女国产乱| 欧美在线视频不卡| 国产综合色一区二区三区| 欧美激情一区二区三区| 国产精品视频大全| 亚洲欧美日韩精品久久亚洲区| 亚洲欧美一区二区在线观看| 国产精品免费小视频| 午夜精品999| 裸体歌舞表演一区二区| 91久久精品国产91性色tv| 欧美精品1区2区| 制服丝袜亚洲播放| 亚洲第一在线视频| 亚洲欧美bt| 欧美.com| 激情视频一区| 亚洲在线视频| 久久久亚洲高清| 亚洲人在线视频| 欧美体内she精视频| 亚洲欧美在线磁力| 欧美成人一区二区三区| 亚洲一卡久久| 欧美激情在线| 亚洲免费一级电影| 欧美国产一区二区在线观看| 99国内精品久久| 免费久久久一本精品久久区| 久久精品最新地址| 国产精品一区二区久久精品| 欧美在线视频二区| 欧美在线观看天堂一区二区三区| 狠狠综合久久| 欧美日韩一二三四五区| 久久久www成人免费精品| 亚洲美女中文字幕| 日韩视频一区二区在线观看 | 欧美精品videossex性护士| 亚洲一区二区少妇| 欧美黄色网络| 久久亚洲春色中文字幕久久久 | 国产精品美女主播| 蜜桃av噜噜一区二区三区| 亚洲欧美中文另类| 亚洲韩国青草视频| 男女视频一区二区| 欧美一区二区在线免费播放| 一区二区免费看| 亚洲人精品午夜在线观看| 韩国精品久久久999| 国产精品大全| 欧美久久视频| 你懂的亚洲视频| 久久九九精品99国产精品| 亚洲欧美视频| 亚洲综合色网站| 99精品免费网| 日韩视频一区二区三区在线播放| 欧美www视频| 麻豆精品精华液| 美女脱光内衣内裤视频久久影院 | 欧美亚洲综合久久| 亚洲一区二区三区涩| 99精品视频一区二区三区| 亚洲黄色大片| 亚洲第一久久影院| 免费日本视频一区| 欧美成人激情视频| 母乳一区在线观看| 免费成人小视频| 欧美电影打屁股sp| 欧美顶级少妇做爰| 亚洲高清自拍| 最近看过的日韩成人| 性欧美xxxx视频在线观看| 国模套图日韩精品一区二区| 国产日本欧美一区二区三区| 久久综合色88| 亚洲一区二区成人| 亚洲欧美综合精品久久成人| 亚洲欧美成人在线| 欧美一区二区三区另类| 欧美影院在线| 巨乳诱惑日韩免费av| 欧美激情久久久久| 久久精品日韩一区二区三区| 欧美在线免费观看| 久久综合久久综合这里只有精品| 免费成人网www| 欧美激情一区二区久久久| 欧美区亚洲区| 国产美女一区| 亚洲国产婷婷香蕉久久久久久99| 国产精品视频久久久| 国产综合色产| 亚洲日本视频| 狠狠爱综合网| 日韩视频中文| 亚洲一区在线免费观看| 久久精品道一区二区三区| 欧美成人午夜免费视在线看片 | 99re亚洲国产精品| 亚洲免费视频在线观看| 老司机久久99久久精品播放免费| 欧美日韩成人在线视频| 国产视频在线观看一区| 亚洲国产免费看| 欧美一区二区黄色| 欧美91福利在线观看| 亚洲深夜福利| 久久一区激情| 国产精品亚洲一区| 亚洲精品国产视频| 久久久91精品国产一区二区三区 | 欧美影院精品一区| 欧美激情视频一区二区三区不卡| 亚洲视频在线观看一区| 你懂的国产精品永久在线| 国产精品一卡二| 99热这里只有成人精品国产| 欧美自拍丝袜亚洲| 99视频热这里只有精品免费| 玖玖国产精品视频| 国产亚洲一级| 亚洲欧美国产视频| 亚洲经典在线| 久久亚洲色图|