Cpper
C/C++高级工程师 Android高级软件工程师 IT集成工程师 音频工程师 熟悉c,c++,java,c#,py,js,asp等多种语言 程序猿
发一系列关于boost库的使用文章以备使用
//! boost库引导1.minmax 
#include <list>
#include 
<algorithm>
#include 
<cstdlib>
#include 
<iostream>
#include 
<boost/algorithm/minmax.hpp>
#include 
<boost/algorithm/minmax_element.hpp>

using namespace std;
inline 
void Print(int i)
{
    std::cout
<<i<<std::endl;  
}

inline 
int Rand()
{
    
return rand()%10;       
}

int main()
{
    list
<int> l;
    typedef list
<int>::const_iterator iterator;
    
//! 使用给定泛函子生成12个随机数并推入链表 
    generate_n(front_inserter(l),12,Rand);
    std::for_each(l.begin(),l.end(),Print);
    std::cout
<<"list size is:"<<l.size()<<std::endl;
    
//! 获取给定序列的对大最小值,返回为std::pair<..,..> 
    pair<iterator,iterator> result = boost::minmax_element(l.begin(),l.end());
    cout
<<"the smallest element is:"<<*(result.first)<<endl;
    cout
<<"the largest element is:"<<*(result.second)<<endl;
    
//! 获取第一个最小元素 
    iterator minitr = boost::first_min_element(l.begin(),l.end());
    cout
<<"first min element is:"<<*minitr<<endl;
    system(
"PAUSE");
    
return 1;
}

 
//! 后论:似乎没看到什么强大的功能
//!ccsdu2004

posted on 2010-08-09 13:31 ccsdu2009 阅读(656) 评论(1)  编辑 收藏 引用 所属分类: boost库等
Comments
  • # re: boost之1.minmax
    永远在一起
    Posted @ 2010-12-15 22:21
    强大之处应该是,平时我们些的算法是要2n次比较,而boost的minmax只需要1.5n次比较  回复  更多评论   

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理