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

獨(dú)立博客: 哲學(xué)與程序

哲學(xué)與程序

STL之Binary search

    STL中對(duì)于有序序列(vector,list等)提供了相當(dāng)相當(dāng)強(qiáng)大的二分搜索Binary search算法。對(duì)于可以隨機(jī)訪問容器(如vector等),binary search負(fù)載度為對(duì)數(shù)級(jí)別(LogN),對(duì)于非隨機(jī)訪問容器(如list),則算法復(fù)雜度為線性。現(xiàn)在簡(jiǎn)要介紹一下幾種常用的binary search算法:

ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T& value)
ForwardIterator lower_bound (ForwardIterator first,ForwardIterator last, const T& value, Compare comp)
//查找最遠(yuǎn)的一個(gè)iterator i, 使得[first,i)里面的任意一個(gè)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)
//查找最遠(yuǎn)的一個(gè)iterator i, 使得[first,i)里面的任意一個(gè)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),使得任意一個(gè)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 哲學(xué)與程序 閱讀(6654) 評(píng)論(0)  編輯 收藏 引用 所屬分類: AlgorithmC & C++C++ STL

導(dǎo)航

公告

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

常用鏈接

隨筆分類(37)

隨筆檔案(41)

Algorithm

最新隨筆

搜索

最新評(píng)論

獨(dú)立博客: 哲學(xué)與程序
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲高清久久久| 91久久久久久国产精品| 国产精品第一页第二页第三页| 宅男精品视频| 在线精品亚洲| 亚洲一区久久| 亚洲一区二区三区精品视频| 一本色道久久综合亚洲精品高清| 99视频精品免费观看| 中文精品在线| 欧美一区二区三区四区夜夜大片| 欧美一级视频| 欧美大尺度在线观看| 欧美日韩高清区| 国产精品一区二区久久| 韩国av一区二区三区在线观看| 在线看片一区| 亚洲视频图片小说| 久久国产欧美| 欧美国产激情| 亚洲砖区区免费| 欧美成人精品在线观看| 国产精品美女午夜av| 亚洲丶国产丶欧美一区二区三区 | 在线视频欧美一区| 欧美一区二区福利在线| 亚洲国产成人在线播放| 亚洲欧美伊人| 欧美色网在线| 亚洲日本中文字幕| 久久久久一区二区三区四区| 一区二区三区日韩在线观看| 久久国产精品一区二区三区四区| 欧美国产日本| 欧美一二三区精品| 国产精品黄页免费高清在线观看| 亚洲国产专区| 免费成人你懂的| 亚洲在线免费| 欧美日韩精品综合| 亚洲精品美女在线观看播放| 欧美一区二区精美| 99精品视频一区| 欧美成人xxx| 在线观看日产精品| 久久精品一区中文字幕| 在线亚洲精品| 欧美日韩一区二区视频在线| 亚洲国产精品毛片| 久久综合免费视频影院| 久久精品在线视频| 国内精品视频在线播放| 久久成人羞羞网站| 午夜精品国产| 国产日韩三区| 久久精品欧美| 久久激情综合网| 国精品一区二区三区| 久久精品人人做人人爽电影蜜月 | 久久久久一区二区三区四区| 国产精品欧美精品| 亚洲欧美国产毛片在线| 一区二区三区精品视频| 国产精品黄色| 欧美在线观看视频| 小黄鸭视频精品导航| 国产亚洲成人一区| 久久久久www| 久久久人成影片一区二区三区观看 | 性久久久久久久| 国产精品无人区| 午夜精品久久久久久久蜜桃app| 99精品视频免费| 欧美无乱码久久久免费午夜一区 | av成人免费| 亚洲电影在线播放| 久久人人爽国产| 久久精品视频在线播放| 一色屋精品视频免费看| 欧美激情按摩在线| 欧美另类专区| 亚洲在线网站| 欧美一区二区三区视频在线观看| 狠狠久久五月精品中文字幕| 欧美成人免费全部| 欧美性猛交xxxx乱大交退制版| 午夜精彩视频在线观看不卡| 久久精品国产欧美激情| 亚洲伦理久久| 午夜视频在线观看一区二区三区| 韩国女主播一区二区三区| 亚洲国产精品成人综合| 欧美亚州韩日在线看免费版国语版| 欧美制服丝袜| 欧美成人综合| 久久久亚洲综合| 欧美日韩国产123| 久久蜜桃精品| 欧美日韩一区二区在线观看视频| 久久精品国产v日韩v亚洲| 欧美成人国产| 久久国产主播精品| 欧美3dxxxxhd| 久久国产综合精品| 欧美伦理在线观看| 久久综合狠狠综合久久综合88| 欧美成年人视频网站| 新67194成人永久网站| 蜜桃av一区二区| 久久成人国产精品| 欧美日韩一级片在线观看| 久久影音先锋| 国产精品99免费看 | 亚洲图片欧美午夜| 又紧又大又爽精品一区二区| 日韩亚洲国产精品| 一色屋精品亚洲香蕉网站| 一区二区三区成人| 亚洲日韩中文字幕在线播放| 久久精品30| 欧美一级淫片aaaaaaa视频| 欧美国产视频日韩| 毛片一区二区三区| 国产亚洲一区二区精品| 在线一区欧美| 一本不卡影院| 欧美高清视频一二三区| 老鸭窝毛片一区二区三区| 国产日本欧美一区二区三区在线 | 久久一区二区精品| 久久av最新网址| 国产三级欧美三级日产三级99| 中文在线资源观看网站视频免费不卡| 狠狠爱综合网| 久久精品最新地址| 久久视频在线看| 国产综合在线看| 欧美一区免费| 媚黑女一区二区| 91久久精品国产91久久性色tv| 久久午夜国产精品| 欧美jizzhd精品欧美巨大免费| 激情国产一区| 久久一综合视频| 久久亚洲精品一区| 亚洲国产欧美一区| 欧美—级a级欧美特级ar全黄| 亚洲国产精品va在线看黑人动漫 | 国产精品系列在线播放| 亚洲夜间福利| 久久精品视频网| 国产一区二区久久| 久久久亚洲国产天美传媒修理工 | 欧美成人一品| 亚洲麻豆av| 国产精品国产三级国产普通话蜜臀| 亚洲美女啪啪| 欧美一区二区三区视频在线 | 欧美色图天堂网| 性色av香蕉一区二区| 麻豆av福利av久久av| 亚洲久久视频| 国产精品亚发布| 久久久天天操| 亚洲午夜在线观看视频在线| 久久久999国产| 亚洲精品美女久久久久| 国产精品久久久亚洲一区 | 久久综合九色综合欧美狠狠| 亚洲欧美日韩国产精品| 欧美一级久久久| 欧美第一黄网免费网站| 中文av字幕一区| 国产日韩在线视频| 欧美日本国产| 久久久国产亚洲精品| 亚洲激情av| 久久久久欧美| 亚洲免费在线观看视频| 亚洲成色精品| 国产欧美一级| 欧美日韩在线播放一区| 久久久久久久一区二区| 亚洲天堂av在线免费| 欧美国产日韩xxxxx| 欧美一区二区成人6969| 一区二区国产日产| 亚洲高清av在线| 国产乱码精品一区二区三| 欧美—级在线免费片| 久久国产精品第一页| 亚洲另类春色国产| 欧美高清在线视频观看不卡| 久久国内精品自在自线400部| 在线亚洲观看| 一区二区高清视频在线观看| 亚洲韩国青草视频| 尤物视频一区二区| 国产一区二区三区无遮挡| 国产精品你懂的|