因為解題需求認識了一些STL相關funciton.

分別是

max_element (ForwardIterator first, ForwardIterator last);
min_element (ForwardIterator first, ForwardIterator last);
count_if (InputIterator first, InputIterator last, UnaryPredicate pred);

實際應用上, 如果使用 vector必須找出最大最小值可以利用 max_element/min_element

而裡頭的 input 分別是 想要搜尋範圍的 最前面以及最後面的 interator.

 int main()
{
vector<int> v;
for (int i = ; i < ; i++) {
v.push_back(i);
} cout << *max_element(v.begin(), v.end()) << endl;
cout << *min_element(v.begin(), v.end()) << endl; system("pause");
return ;
}

而另外的 count_if 簡單的解釋就是 想要的搜尋範圍內 判斷條件達成就count + 1

這個 funtion 裡頭, 會自己巡一遍, 整個vector 然後符合條件就 +1.

 bool isEven(int i)
{
if (i % == )
return true;
else
return false;
}
int main()
{
vector<int> v;
for (int i = ; i < ; i++) {
v.push_back(i);
} int noEven = count_if(v.begin(), v.end(), isEven); cout << "Total no of even numbers is: " << noEven << endl; system("pause");
return ;
}

(C/C++) STL 標頭檔 algorithm (一)的更多相关文章

  1. STL学习笔记7 ---- algorithm(算法)

    STL中算可以分为三种, 1.变序型队列算法,可以改变容器内的数据: 2.非变序型队列算法,处理容器内的数据而不改变他们 : 3.通用数值算法,这涉及到很多专业领域的算术操作,这里不做介绍. 第一是变 ...

  2. STL源码分析-algorithm

    http://note.youdao.com/noteshare?id=8b3473983e4c8d8eee32544708633f79

  3. VC++ 监控指定目录改变

    转载:http://www.cnblogs.com/doublesnke/archive/2011/08/16/2141374.html VC++实施文件监控:实例和详解 相关帮助: http://h ...

  4. 在Linux使用mingw32来编写win32程序

    MinGW - Minimalist GNU For Windows Mingw32 是 GNU 計畫工具的集合,包含了大量的標頭檔(header files).函式庫與指 令程式.目的在提供免費的工 ...

  5. 能让汇编转到C51的初学者有更清晰的认识的一篇文章

    8051 是傳統 CISC 架構微控制器的代表,而 PIC 則是現代 RISC 架構微控制器的佳作. 雖然說 RISC 架構是公認未來微控制器的主流,但是 8051 藉著累積多年的發展環境與資源,特別 ...

  6. 【转】簡單講講 USB Human Interface Device

    原地址http://213style.blogspot.com/2013/09/usb-human-interface-device.html 恩,發本文的原因是看到了以前畢業的朋友在旁邊的對話框問了 ...

  7. MSVC與CRT的恩怨情仇

    很久沒有寫程式設計入門知識的相關文章了,這篇文章要來談談程式庫 (Library) 連結,以及關於 MSVC 與 CRT 之間的種種恩怨情仇. 如果你使用的作業系統是 Linux.Mac 或其他非 W ...

  8. [Xamarin.iOS] 如何引用Objective-c寫的Class Library (转帖)

    這個範例是如何在Xamarin.ios中去使用一個我們自行在Xcode中開發的Objective-c Class Library. 主要會執行的步驟如下 1. 在Xcode 裡面去建立一個Class ...

  9. 十個必用的 Vim Plugin

    ◎ The NERD Tree 操作 Vim 時,通常都在 Terminal 底下作用,無法像一般的 GUI    應用程式可以以樹狀目錄來瀏覽檔案. The NERD Tree    是一將檔案目錄 ...

随机推荐

  1. SVG与HTML、JavaScript的三种调用方式

    一.在HTMl中访问SVG的DOM Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHig ...

  2. [Selenium]Turn Page By Scroll Bar

    Description: Need to turn page by operating scroll bar and find out the element in the current page. ...

  3. Greeplum 系列(一) Greenplum 架构

    Greeplum 系列(一) Greenplum 架构 Greenplum 可进行海量并行处理 (Massively Parallel Processing) 一.Greenplum 体系架构 Gre ...

  4. context:propertyPlaceholder

    Activates replacement of ${...} placeholders by registering a PropertySourcesPlaceholderConfigurer w ...

  5. 如何取得nginx做反向代理时的真实IP?

    1. 编译 对于client -> nginx reverse proxy -> apache, 要想在程序中取得真实的IP,在执行nginx的configure时,必须指定参数" ...

  6. B-spline Curves 学习之B样条基函数计算实例(3)

    B-spline Basis Functions: Computation Examples 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完 ...

  7. 动态规划 HDU1231-------最大连续子序列

    Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i < ...

  8. 两段 PHP 代码比较优劣

    // 代码一 public function getPCA($level = false) { $results = array(); $where = $level ? " where f ...

  9. 一个例子教你理解java回调机制

    网上很多例子都写的很难理解,笔者刚开始都已经弄晕菜了. 这个例子,应该是再简单,再简洁不过的了,例子目的是测试某个方法的执行时间.这里就写三个java类,一个接口,一个实现,还有一个用于测试时间的类. ...

  10. C# task和timer实现定时操作

    C#中,定时器,或者叫作间隔器,每隔一段时间执行一个操作. 1.Timer本身就是多线程 C#中为不同场合下使用定时器,提供了不同的Timer类,在asp.net中一般使用System.Timers. ...